`
peonyzzdx
  • 浏览: 590538 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

外网sql(Coalesce,decode,case when then end )

 
阅读更多
Oracle COALESCE函数语法为COALESCE(表达式1,表达式2,...,表达式n),n>=2,此表达式的功能为返回第一个不为空的表达式,如果都为空则返回空值。

-- 1建档
CREATE or replace view WEBADMIN.T_LSJZJD  as        
select jd.id    JD_NM, --NUMBER 8  0 Y 1 内码                      长度老表8新表12
       jd.jzmc  BUILDNAME, --VARCHAR2 50        建筑名称        长度老表50新表200  
       jd.bhbm  BUILD_ID, --VARCHAR2 20        编号             长度老表20新表50
       jd.qlrmc SYQR, --VARCHAR2 200       产权人              相同
       --      SYQR_DM VARCHAR2  20        产权人代码  
       jd.zl       FW_ADDRESS, --VARCHAR2  500       座落   
       jd.jznd     BUILDTIME, --VARCHAR2  50        建筑年代   
       jd.jzmj     JZ_AREA, --NUMBER 10  2     建筑面积            新表长度9   2
       decode(jzjg,0,'钢砼',1,'混凝土',2,'混合',3,'砖混',4,'砖石',5,'砖木',6,'木',7,'石头') || decode(fzjzjg,0,'钢砼',1,'混凝土',2,'混合

',3,'砖混',4,'砖石',5,'砖木',6,'木',7,'石头')   STRUCT, --VARCHAR2 20        建筑结构           --number(8)需要关联数据字典      
    
  Coalesce(decode(JZLXFL,0,'居住建筑->传统民居',1,'居住建筑->独立式住宅',2,'居住建筑->联排住宅',3,'居住建筑->现代住宅') ,

  decode(GGFWJZFL,0,'公共建筑->办公建筑',1,'公共建筑->商业建筑',2,'公共建筑->教育建筑',3,'公共建筑->文体建筑',4,'公共建筑->宗教建筑',5,'公共建筑->宾馆建筑',6,'公共建筑->医疗建筑') ,

   decode(GYJZFL,0,'工业建筑->厂房建筑',1,'工业建筑->仓储建筑',2,'工业建筑->宿舍建筑',3,'工业建筑->办公建筑') ,

   decode(GZWFL,0,'构筑物->桥梁',1,'构筑物->军事设施',2,'构筑物->亭') )  as  STYLE, --VARCHAR2 20        建筑类型            --number(8)需要关联数据字典

       decode(bhdj,1,'一级',2,'二级',3,'三级')   GRADE, --VARCHAR2  100       等级
       jd.fcyt     FACT_YT, --VARCHAR2 20        房产用途    长度老表20新表200
       jd.fccx     FC_CX, --VARCHAR2 20        房产成新   
       jd.cqrbg    SYQR_BG, --VARCHAR2  200       产权人变更  
       --    PIC_NM  NUMBER  8 0     图片内码   
       --   VIDEO_NM  NUMBER  8 0     视频内码
       decode(pc,1,'第一批',2,'第二批',3,'第三批',4,'第四批',5,'第五批',6,'第六批','无')    GROUPNAME, --VARCHAR2 10        批次   
       jd.cq_code CQ_NAME, --NUMBER  6 0     城区    长度老表6新表8
       jd.fwcqlx  FWCQTYPE, --VARCHAR2  400       房屋产权类型   
       jd.jzjj    INTRODUCTION, --VARCHAR2  2000        建筑简介   
       jd.bhyq    SAFEREQUEST, --VARCHAR2 2000        保护要求   
       jd.bz      MEMO, --VARCHAR2  2000        备注   
       jd.sfwwgs ISNETSHOW, --NUMBER  1 0     是否在外网公示
       jd.sfyx    ISVALID, --NUMBER 1 0     是否有效   
       jd.JZWHJQ    JD_TYPE, --NUMBER 1 0     历史建筑(1)、历史文化街区(2)  
       jd.hj      ENVIRONMENT, --VARCHAR2 2000        环境   
       jd.slbh    ACCEPT_ID, --VARCHAR2 30        受理编号   
       jd.xmbm    PROINS_ID, --NUMBER 8 0     项目编码   
       jd.shbz    AUDIT_FLAG, --NUMBER  1 0     审核标志(0-未审核1-审核)  
       jd.shyj    AUDIT_NOTE, --VARCHAR2  512       审核意见
       jd.jbrid   SL_STAFF, --NUMBER 4 0     经办人ID
       jd.shrid   AUDIT_STAFF, --NUMBER  4 0     审核人ID
       jd.shrq    AUDIT_DATE, --DATE          审核日期
       jd.sfwy    YUE, --NUMBER 1 0     是否为约
       jd.jzcs    FLOOR, --VARCHAR2 10        建筑层数
       jd.dth     DUTUHAO --VARCHAR2  100       都图号
  from hz_lsjz.tpk_lsjzjd jd;   








--2 WEBADMIN.T_HISPIC 建档资料信息表
CREATE view  WEBADMIN.T_HISPIC as 
select zl.id     PIC_NM, --NUMBER  8 0 Y 1 图片内码
       zl.qtid   JD_NM, --NUMBER 8 0     建档内码
       CASE WHEN zl.sfsy=1 THEN  '首页图' WHEN zllx=0  THEN '方位图'  ELSE  zl.zlbm END    ZP_NAME, --VARCHAR2 50        资料名字
       null     ZP, --BLOB          资料 
       zl.zllx   ZP_TYPE, --NUMBER 8 0     资料类型
       zl.kzm   ISZP, --VARCHAR2  10        是否是照片
       zl.bz     MEMO, --VARCHAR2  200       备注
       zl.sfwwxs ISNETSHOW, --NUMBER 1 0     是否外网显示
       zl.zlxh   SCANPAGENUM, --NUMBER 4 0     页号
       zl.yh     SCANMATER_XH, --NUMBER  4 0     资料序号
       zl.zlzt   SCANMATER_STATUS, --VARCHAR2  10        资料状态
       zl.zlys   SCANMATER_PAGENUM --NUMBER 4 0     资料页数
  from hz_lsjz.tpk_zl zl where zllx not in(4,5,7,8);

分享到:
评论

相关推荐

    Oracle用decode函数或CASE-WHEN实现自定义排序

    本文将深入探讨如何使用`DECODE`函数和`CASE-WHEN`语句在Oracle中实现自定义排序。 1. **DECODE函数** `DECODE`函数在Oracle中被广泛用于条件判断和值的替换。在自定义排序的场景下,我们可以根据字段值来指定对应...

    DB2常用SQL写法

    DB2中可以使用CASE函数来实现复杂的逻辑判断,例如set prodname = (case when (name is not null) then name when (namestr is not null) then namestr else defaultname end);该语句可以实现对prodname变量的赋值,...

    Oracle PL-SQL 对应 hadoop hive 、 phoenix中常用的对应函

    - Hadoop Hive: 使用 `IF` 或 `CASE WHEN...THEN...ELSE END` 实现条件判断,`IFNULL` 相当于 Oracle 的 `NVL`,`COALESCE` 可以处理多个可能的空值。 - Phoenix: 也有 `IF` 语句和 `IFNULL` 函数,但 `DECODE` ...

    oracle处理空值的方法

    HR@XE> select case when commission_pct is null then 0 2 else commission_pct end commission_pct 3 from employees 4 where commission_pct is null 5 and rownum = 1; ``` 这个CASE语句检查`commission_pct`...

    Oracle的几个Function实例

    WHEN salary BETWEEN 3000 AND 5000 THEN 'Medium' ELSE 'Low' END AS "Salary Tier" FROM employees; ``` 以上就是Oracle数据库中一些常用的函数实例。了解并熟练掌握这些函数,能够极大地提升你在数据库...

    ORACLE转DB2对照全解

    CASE WHEN col = 'value1' THEN val1 WHEN col = 'value2' THEN val2 ELSE def_val END ``` **注意:** Oracle提供了`DECODE`函数,而DB2则使用`CASE`语句来实现类似的功能。 #### 十三、Rownum **Oracle:** ``...

    oracle常用函数全集

    SELECT CASE WHEN 1=1 THEN 'True' ELSE 'False' END AS result; ``` ### 8. DECODE 函数 DECODE(expr, search_expr, result, ..., default)函数类似于CASE WHEN...ELSE...END表达式,但更简洁。 ```sql SELECT ...

    oracle转DB2 对照

    WHEN e THEN -- handle exception END; ``` - DB2示例: ```sql BEGIN -- some code that may raise exception e ON SQLERROR DO -- handle exception END ``` - 注意点: Oracle使用 `EXCEPTION` 块来...

    oracle_sql_function

    - `CASE WHEN...THEN...END`: 用于构造复杂的条件表达式。 7. **其他函数**: - `DECODE()`: 如果第一个参数等于给定的值,则返回相应的第二个参数,否则返回第三个参数。 - `GREATEST() / LEAST()`: 返回一组值...

    oracel

    CASE WHEN ELSE END结构是更复杂的Case表达式形式,允许更复杂的条件判断。DECODE函数则提供了一个简化版的IF-THEN-ELSE逻辑,它可以根据指定的值返回不同的结果。 对于层次结构数据,Oracle支持递归查询。例如,在...

    DB2编程基础DB2编程基础DB2编程基础

    SELECT CASE a1 WHEN '1' THEN 'n1' WHEN '2' THEN 'n2' ELSE 'n3' END AS aa1 FROM db2; ``` 或者使用 `COALESCE`: ```sql SELECT COALESCE(NULLIF(a1, '1'), NULLIF(a1, '2'), 'n3') AS aa1 FROM db2; ``` ...

    DB2、ORACLE

    - Oracle的DECODE函数在DB2中不支持,可以使用CASE WHEN语句替代,如`SELECT CASE WHEN f_areaid IS NULL THEN '空' ELSE f_areaid END FROM masa_user`。 7. **NVL函数**: - Oracle的NVL在DB2中需要使用...

    Oracle基本函数总结

    SELECT CASE 4 WHEN 10 THEN '' WHEN 20 THEN 'z' WHEN 30 THEN 'x' ELSE '未知' END FROM dual; -- 输出结果:未知 ``` - **DECODE**: 简单条件判断表达式。 ```sql SELECT DECODE(10, 10, '', 20, 'z', 30, ...

    oracle一些常用函数笔记和简单例子

    WHEN 'ANALYST' THEN SALARY * 1.15 WHEN 'MANAGER' THEN SALARY * 1.10 WHEN 'CLERK' THEN SALARY * 1.05 ELSE SALARY END AS NEW_SALARY FROM EMP_CK; ``` 2. **`DECODE()`**:类似于 `CASE` 语句,但更加...

    阿里数据库团队PostgreSQL实践.pptx

    4. **函数替换**:替换不兼容的Oracle函数,如`wm_concat`变更为`string_agg`,`regexp_replace`添加额外参数,`Bitand`使用`&`运算符,`NVL`使用`coalesce`,`DECODE`用`case when then else end`表达式。...

    Oracle和DB2的转换[参照].pdf

    WHEN integer(flag) = 0 THEN '假' WHEN integer(flag) = 1 THEN '真' ELSE '异常' END FROM TEST ``` 在进行Oracle到DB2的转换时,理解这些语法差异是至关重要的,以确保查询和数据操作的正确性。同时,还...

    teradata学习笔记

    - Teradata使用`case when then else end`进行条件判断,Oracle也有相同语法,只是在某些情况下可能需要使用`decode()`函数。 3. **日期/时间操作**: - Teradata中,日期转换通常使用`cast(date as char(10))`,...

    oralce里常用的函数

    - `CASE WHEN condition THEN result [WHEN ... ELSE else_result] END`: 根据条件返回不同的结果。 8. **其他实用函数**: - `DECODE(column, value1, result1, value2, result2, ..., default_result)`: 根据`...

    oracle plsql基本函数

    - **CASE expression WHEN value THEN result [WHEN ...] [ELSE default] END**: 多条件判断函数,根据expression的值返回不同的结果。 #### 6. 其他常用函数 - **NULLIF(expression1, expression2)**: 如果两个...

Global site tag (gtag.js) - Google Analytics