- 浏览: 499653 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (437)
- Windows设置 (2)
- oracle数据库 (39)
- bug--jsp (4)
- j2se (13)
- js (40)
- bug-tomcat不能启动程序 (1)
- Hibernate (29)
- eclipse (20)
- java (65)
- 设计模式 (6)
- bug (18)
- PL/SQL (11)
- 前台 (5)
- 杂谈 (25)
- UML (1)
- jdbc编程 (2)
- 技术调研 (1)
- 数据通信 (2)
- ios (1)
- servlet自学笔记 (10)
- tomcat (9)
- SQL学习笔记 (6)
- java工具 (1)
- 数据库设计 (4)
- javascript (10)
- jsp (11)
- struts (17)
- ajax (7)
- linix/Unix (6)
- 资源 (3)
- spring (14)
- 算法 (5)
- 计算机网络 (2)
- http (5)
- c++ (2)
- web应用 (3)
- jvm (5)
- java中的字符编码 (14)
- java代码库 (2)
- classloader (1)
- 读书笔记 (1)
- c (1)
- 开源软件 (1)
- svn (1)
- AOP (1)
- java序列化 (1)
- 多线程 (4)
- The legendary programmers (1)
- Apache http Server (1)
- html tag (3)
- struts1.X学习笔记 (5)
- buffalo (1)
- 自己收藏 (0)
- TOEFL(IBT) (1)
- 网络翻墙 (0)
- 编译原理 (1)
- 书籍推荐 (1)
- css (10)
- javaee环境搭建资料 (1)
- 开源工具 (1)
- 美国生活 (1)
- spring自学 (3)
- log4j (3)
- 算法与数据结构 (5)
- 病毒,插件处理大全 (1)
- flex (2)
- webservice (1)
- git (7)
- cs (1)
- html (4)
- javaee (6)
- 开车 (0)
- springmvc (3)
- 互联网架构 (2)
- intellij idea (18)
- maven (15)
- mongodb (2)
- nginx (1)
- react (3)
- java基础例子 (2)
- springboot (2)
- 培训 (5)
- mysql (3)
- 数据库 (3)
- 生活 (2)
- intellij (3)
- linux (2)
- os (3)
最新评论
-
潇洒天涯:
[color=blue][color=cyan] ...
oracle 通过 nvl( )函数sql 查询时为 空值 赋默认值 -
hekai1990:
受教了..
oracle中的varchar2
函数声明: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
评论
发表评论
-
Hibernate:Envers 审计
2018-09-17 23:57 516https://blog.csdn.net/Silen ... -
【转】数据库事务的四大特性以及事务的隔离级别
2017-10-12 23:09 535本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说 ... -
【转】Spring3.3 整合 Hibernate3、MyBatis3.2 配置多数据源/动态切换数据源 方法
2016-12-13 15:07 698http://www.cnblogs.com/hoojo ... -
【转】Spring3 整合Hibernate3.5 动态切换SessionFactory (切换数据库方言)
2016-12-13 15:05 764http://www.cnblogs.com/hoojo ... -
Hibernate中的三种对象状态:
2015-11-15 18:33 413Hibernate中的三种对象状态: 1.瞬时(tr ... -
【转】Hibernate过滤器使用窍门
2015-09-08 17:13 548Hibernate过滤器(filter)是全局有效的 ... -
【转】Hibernate left join(左连接)
2015-08-26 17:27 1972如果是内连接的多表查询可以不用join关键字,在where ... -
【转】Hibernate 所有缓存机制详解
2015-08-26 14:50 649hibernate提供的一级缓存 hibernate是一个 ... -
【转】Hibernate中session的clear(),flush(),evict()方法详解
2015-08-26 14:22 10411.Clear 方法 无论是Load 还是 Get ... -
oracle连接plsql
2015-07-27 16:02 589oracle查看本机服务名 在cmd命令窗口: ... -
【转】oracle查询:取出每个分组中的第一条记录
2015-05-27 17:26 3453排序后取第一条记录 select * from (sel ... -
【转】 PL/SQL Developer快捷键无效的恢复方法
2015-05-06 17:14 1062最近使用PL/SQL Developer时,Ctrl+C,C ... -
【转】java 调用存储过程 实例
2015-05-06 14:55 492共4个 一.只有输入参数没有返回结果的存储过程 二. 有 ... -
【转】Oracle导出表(即DMP文件)的两种方法
2015-05-04 20:00 864方法一:利用PL/SQL Developer工具导出: ... -
【转】Oracle创建表空间、创建用户以及授权
2015-05-04 20:00 553Oracle安装完后,其中有一个缺省的数据库,除了这个缺省 ... -
【转】ORA-12519错误解决方案
2015-05-04 19:54 991系统正常运行一个月后,上线第一天出现了下列错误,想了很久没有 ... -
【转】查看修改表空间sql语句
2015-05-01 16:26 551--所有表ower, 表名,表空间名 select ... -
【转】Oracle带输入输出参数的存储过程
2015-04-30 22:33 814(一)使用输入参数需求:在emp_copy中添加一条记录,em ... -
【转】oracle存储过程、声明变量、for循环
2015-04-30 22:20 1272oracle存储过程、声明变量、for循环 1、创建存储 ... -
【转】Oracle数据库备份之exp/imp用法
2015-04-30 22:16 566------------------------------ ...
相关推荐
当expr1为NULL时,NVL函数返回expr2的值;如果expr1不是NULL,则返回expr1的值。这个函数常用于确保查询结果中不会出现NULL值,例如将NULL转换为0或其他默认值。 **示例代码:** ```sql HR@XE> select nvl...
在数据库编程领域,尤其是Oracle SQL和PL/SQL中,`NVL`、`NVL2`和`NULLIF`函数是处理空值(NULL)的关键工具。这些函数帮助程序员在查询和处理数据时,优雅地处理可能出现的NULL值,确保程序逻辑的正确性和数据的...
Oracle 数据库 SQL 语句详解大全 本资源总结了 Oracle 数据库中 ...* 本章总结了 SELECT 查询的基本语法、条件查询的使用、NVL 函数和字符串连接符的应用等知识点,为读者提供了 Oracle 数据库 SQL 语句的详解大全。
Oracle数据库中的空值(NULL)处理是数据库管理中常见的问题,尤其在进行复杂查询和数据分析时,理解并正确处理空值至关重要。Oracle空值并不是一个实际的值,它表示未知或者缺失的数据。以下是对Oracle空值及其解决...
NVL函数用于在字段值为NULL时替换指定的默认值。例如,如果我们要确保所有工资不为空,可以用NVL函数: ```sql SELECT NVL(sal, 0) AS Salary FROM EMP; ``` 在Oracle中,分页查询是一个常见需求。这里提到了三种...
Oracle 中有一个非常实用的函数 `NVL`,用于处理空值(NULL)的情况。那么,在 MySQL 中,是否也有类似的函数呢?答案是肯定的,MySQL 提供了 `IFNULL` 函数,它与 Oracle 的 `NVL` 函数具有相似的功能。 `NVL` ...
2. **空值处理**:在Oracle中,NVL函数用于将NULL值替换为指定的默认值,orafce也提供了相同的功能。 3. **数学和字符串操作**:Oracle有一些特定的数学和字符串函数,如ROUND、TRUNC、SUBSTR等,orafce也实现了这些...
在处理空值(NULL)时,Oracle提供了`NVL()`, `NVL2()` 和 `NULLIF()` 函数。`NVL()`用于当某个表达式的结果为NULL时,替换为指定的默认值;`NVL2()`则在第二个参数不是NULL时返回第三个参数,否则返回第一个参数;`...
SQL Server使用`ISNULL(column, default_value)`来处理可能的NULL值,将NULL替换为默认值。 Oracle中使用`NVL(column, default_value)`达到同样的效果。 DB2中使用`VALUE(column, default_value)`来处理NULL值。 ...
如果一个字段的值为NULL,NVL函数会将其替换为你指定的默认值。例如,如果你有一个员工表,其中的电话号码字段可能为空,你可以用NVL函数来显示一个默认的电话号码: ```sql SELECT NVL(phone_number, '无电话') ...
6. **NVL函数**:用于处理空值,将空值替换为指定的默认值。 7. **DISTINCT关键字**:去除查询结果中的重复行。 8. **数据类型**: - **NUMBER(p,s)**:数值类型,p为精度,s为刻度,用于控制小数位数。 - **...
通过了解和熟练运用这些函数,可以更有效地编写SQL查询,优化数据库操作,提高数据管理的精确性和效率。这份"oracle_sql 函数.txt"文件应该包含了详细的函数介绍和示例,是学习和查阅Oracle函数的好资源。
Oracle数据库系统提供了丰富的函数库,帮助用户在处理数据时进行各种复杂的操作。以下是一些常用的Oracle函数,包括SQL组函数和一些杂项函数的详细解释。 **SQL Group Functions** 1. **AVG(distinct or all num)*...
`NVL()`函数用于处理空值,如果字段值为空,则用指定的默认值替代。`DECODE()`函数类似于简单的条件语句,可以根据指定的条件返回不同的值。 以上是Oracle查询语句的基本知识,包括了条件表达式、排序、函数和转换...
- `WHERE`子句用于筛选满足特定条件的记录,如`WHERE 款式名称 LIKE 'SANDAL' AND NVL(成本, 0) ,这里的`LIKE`用于模糊匹配,`NVL`函数用于将空值转换为指定的默认值(这里是0)。 - `ORDER BY`用于对查询结果...
`NVL`用于将NULL替换为指定的默认值,而`NVL2`则在表达式为NULL时返回第二个参数,否则返回第一个参数。此外,NULL值在逻辑判断中有特殊的含义,需要特别注意。 `CASE`和`DECODE`语句是条件判断和数据转换的重要...
在处理空值(NULL)时,`NVL`和`NVL2`函数用于处理空值情况,当指定的表达式为NULL时,它们会返回一个默认值。`CASE`和`DECODE`语句则提供了条件判断的能力,根据不同的条件返回不同的结果,这对于复杂的数据处理...
* NVL 函数是 Oracle 数据库中的一个函数,用于将空值转换为默认值。 * Intersect 运算符是 Oracle 数据库中的一个运算符,用于返回两个表中的共同记录。 * Partition by 语句是 Oracle 数据库中的一个语句,用于...
例如,计算年薪时,如果salary或commission_pct为NULL,会导致计算结果也是NULL,因此可以使用NVL来确保即使有空值也能得到默认值:`SELECT NVL(salary*12*(1+commission_pct/100),0) yearsal FROM s_emp;...