`
wangyanlong0107
  • 浏览: 480164 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

oracle 通过 nvl( )函数sql 查询时为 空值 赋默认值

 
阅读更多

函数声明:nvl(col,val) 


说明:当col为空时取val作为返回值,当col不为空时取col值。 


用处:最主要的是格式化数据,比如计算金额时,不想出现空数据,可以使用nvl(JINE,0)来得到0。由于null+(或-,*,/)数字等于null,所以在表达式中对可能为空的值要使用nvl由于null!=null,有时对可能为空的列进行条件查询时,可能出现结果集丢失数据问题,加上nvl就不会了。 

 

一般写视图的时候的为数字的项为null或没有默认值可能会引起hibernate抛异常,这是需要把null附一个值,用此函数

create or replace view tb_v_pmg_appraisereport as

SELECT 

       T.C_OBJECTID               C_EMPOID,

       emp.c_code                 C_EMPCODE,

       emp.c_name                 C_EMPNAME,

       org.c_oid_orgunit          C_UNITID,

       org.c_name                 C_UNITNAME,

       T.C_OID_OBJECT             C_OID,

       PC.C_NAME                  C_PRECEPTNAME,

       PC.C_OID_PRECEPT           C_PRECEPTID,

       PH.C_OID_PHASE             C_PHASEID,

       PH.C_NAME                  C_PHASENAME,

       PH.C_BEGINDATE             C_PHBEGINDATE,

       PH.C_ENDDATE               C_PHENDDATE,

       T.C_COMPETITION            C_COMPETITION,

       nvl(D.C_OID_DISTRIBUTERATEITEM,-1) C_DISTRIBUTEID,

       D.C_NAME                   C_DISTRIBUTENAME,

       T.C_EVALUATESCORE          C_EVALUATESCORE,

       T.C_APPROVESCORE           C_APPROVESCORE,

       T.C_PERFORMANCESCORE       C_PERFORMANCESCORE,

       T.C_SCOREDESC              C_SCOREDESC,

       T.c_Appraisereportid       C_UPLOADID,

       T.C_OPERATOR               C_OPERATOR,

       T.C_OPERATETIME            C_OPERATETIME

  FROM TB_PMG_OBJECT T

  LEFT JOIN TB_PMG_DISTRIBUTERATEITEM D ON D.C_OID_DISTRIBUTERATEITEM =

                                           T.C_DISTRIBUTEID,

 TB_PMG_PRECEPT PC, TB_PMG_PHASE PH, 

 

 tb_inf_employee emp, tb_org_orgunit org

 

 WHERE PC.C_OID_PRECEPT = T.C_PRECEPTID

   AND PH.C_OID_PHASE = T.C_PHASE

   AND PC.C_TYPE = '1'

   AND t.c_objectid = emp.c_employeeid

   AND org.c_oid_orgunit = emp.c_unitid

 

 ORDER BY T.C_OBJECTID, PC.C_OID_PRECEPT, PH.C_BEGINDATE 

分享到:
评论
1 楼 潇洒天涯 2013-04-19  
[color=blue][color=cyan]            [/color][/color]

[color=cyan]去委屈委屈v[/col[b][b][/b][/b]or]

相关推荐

    oracle的nvl函数的使用介绍

    Oracle的Nvl函数 nvl( ) 函数 从两个表达式返回一个非null 值。 语法 NVL(eExpression1, eExpression2) 参数 eExpression1, eExpression2 如 果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。...

    Hive与Oracle常用函数对比

    通过学习将Oracle和Hive的常用函数整理出来做了个对比,提供他们各自支持的常用函数。

    oracle中nvl、decode、trim、rtrim的常见用法

    列举oracle中nvl、decode、trim、rtrim的常见用法

    nvl的相关函数描述

    nvl的相关函数,nvl的相关函数,nvl的相关函数

    深入浅析Orcale的nvl函数和SQL Server的isnull函数

    Orcal 的 nvl函数 NVL(Expr1,Expr2)如果Expr1为NULL,返回Expr2的值,否则返回Expr1的值,Expr1,Expr2都为NULL则返回NULL NVL2(Expr1,Expr2,Expr3)如果Expr1为NULL,返回Expr2的值,否则返回Expr3的值 NULLIF(Expr1,...

    Oracle 基础语句 函数大全(字符串函数

    ORACLE PL/SQL 字符串函数、数学函数、日期函数 --【字符串函数】 --字符串截取substr(字段名,起始点,个数) select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3),substr(Name,-2,1) from t1; --字符...

    浅谈mysql可有类似oracle的nvl的函数

    ifnull等同于oracle的nvl,用法如下 mysql> select ifnull(1,10); +————–+ | ifnull(1,10) | +————–+ | 1 | +————–+ 1 row in set (0.00 sec) mysql> select ifnull(null,10); +—————–+ | ...

    Oracle数据库、SQL

    8.3当组函数要处理的所有值都为null时 16 8.4行级信息和组级信息 16 九、 group by子句 17 9.1语法和执行顺序 17 9.2分组过程 17 9.3常见错误 17 9.4多列分组 17 十、 having子句 18 10.1语法和执行顺序 18 10.2执行...

    常用的SQL函数详细讲解

    字符函数 数值函数 日期函数 数据转换函数 decode函数 nvl函数

    oracle-10G函数大全.chm

    1,数值型函数(abs()、sign()、ceil()、floor()、power()、exp()、round()...); 2,字符型函数(lower()、upper()、lpad()、rpad()、substr()、replace()...);...7,其它函数(decode()、nvl()、nvl2()、least()...);

    Oracle-Decode()函数和CASE语句的比较

    本文讲述了Oracle-Decode()函数和CASE语句的比较。

    oracle的列转行函数

    SELECT TRIM(',' FROM SYS.STRAGG(A_NAME||NVL2(A_NAME,',','')))as nams FROM A_TEMP

    ORACEL数据库常用命令(有详细解释)

    编程技巧: NVL函数在多条件模糊查询的时候比较有用 NVL函数可返回多种数据类型: 返回日期 NVL(start_date,'2002-02-01') 返回字符串 NVL(title,'no title') 返回数字 NVL(salary,1000) 3. 使用SQL*PLUS(1) ...

    DB2、ORACLE SQL写法的主要区别

    DB2、ORACLE SQL写法的主要区别 1、数据类型转换函数 2、Where条件弱类型判断 3、replace关键字 4、子查询别名 5、DATE数据类型的区别 6、分页的处理 7、decode函数 8、NVL函数 9、substr的不同 10、获取操作系统...

    oracle 函数

    SQL中的单行函数 SQL和PL/SQL中自带很多类型的函数,有字符、数字、日期、转换、和混合型等多种函数用于处理单行数据,因此这些都可被统称为单行函数。这些函数均可用于SELECT,WHERE、ORDER BY等子句中,例如下面...

    oracle常用函数

    Oracle中的NVL,NVL2,NULLIF,COALESCE通用函数

    Oracle_Database_11g完全参考手册.part2/3

    9.3.3 NVL:空值置换函数 9.3.4 ABS:绝对值函数 9.3.5 CEIL 9.3.6 FL00R 9.3.7 MOD 9.3.8 POWER 9.3.9 SQRT:求平方根 9.3.1 0EXP、LN和LOG 9.3.1 1ROUND和TRUNC 9.3.1 2SIGN 9.3.1 3SIN、SINH、COS、COSH、TAN、...

Global site tag (gtag.js) - Google Analytics