就是说
nvl(a,b),如果a是NULL,那么nvl(a,b)的值为b
nvl(a,b),如果a是NULL,那么nvl(a,b)的值为b
解决方案 »
- 求助,正则替换,批量替换
- 处理时长计算,请高手给个 函数方法
- 新手,问个简单问题!
- 想实现同时插入B表中的数据和用户从界面录入的数据到A表中,要怎么实现?
- 急!!!如何提高Oracle中SQL语句的查询速度!!
- oracle10设置首选身份证明出错?
- 菜鸟求助:JDBC连Oracle 11g问题???就是连不上。
- 8.1.7的导出备份在8.1.6恢复时出现字符集问题,怎么办
- 一个关于触发器的问题
- 百思不得其解:wmsys.wm_concat的用法与数据库版本的问题
- Enterprise Mmanager Configuration Assistant配置,登陆OMS问题!在线等,谢谢
- 难道Oracle8i不支持INNER JOIN?
如有字段field,用NVL(field,"other")意思是field为空值显示为other,不为空则为本身的值。
若a=null,结果是b。
若a=null,结果是b。
若a=null,结果是b。
NVL(expr1,expr2)
如果expr1是NULL,则返回expr2,否则返回expr1.返回值与expr1类型相同,除非expr1是字符串类,在这种情况下将返回VARCHAR2类型.这个函数用于确保查询记录集中不包含NULL值.类似的还有
NVL(expr1,expr2,expr3)
如果expr1是NULL,则返回expr2,否则返回expr3.返回值与expr2类型相同,除非expr2是字符类型,在这种情况下返回VARCHAR2类型NULLIF(a,b)
如果a等于b返回NULL,如果不等于返回b.--------------------
不为得分,只为大家共享资源
假定,表my_table中有一个字段my_column经常出现空值
那么,即便对该字段建了index,使用查询条件“my_column is null”时也是效率低下
这时候,使用index的效率甚至可能还不如不使用
怎么办呢?
nvl函数就派上用场了
在确知my_column不可能取到某个特定值的时候,假定这个值为my_value
对函数表达式nvl(my_column,my_value)建立一个index:CREATE INDEX my_nvl_func_index ON my_table
(
nvl(my_column,my_value) asc
);将原来的查询条件“my_column is null”改写为“nvl(my_column,my_value) = my_value”
就ok了