首先注意空(null)值,空值任何值都是空值,空值任何值也都是空值,依此类推。

1.NVL函数

NVL函数的格式如下:NVL(expr1,expr2)

含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。

eg:

select NVL(null,'ok') from dual  --the result is 'ok'
select NVL('something','ok') from dual  --the result is 'something'

2 NVL2函数

NVL2函数的格式如下:NVL2(expr1,expr2, expr3)

含义是:如果该函数的第一个参数为空那么显示第三个参数的值,如果第一个参数的值不为空,则显示第二个参数的值。

eg:

select NVL2(null,'ok1','ok2') from dual   --the result is 'ok2'
select NVL2('something','ok1','ok2') from dual  --the result is 'ok1'

3. NULLIF函数

NULLIF(exp1,expr2)函数的作用是如果exp1和exp2相等则返回空(NULL),否则返回第一个值。

eg:

select NULLIF(1,1) from dual   --the result is '' 
select NULLIF(1,2) from dual   --the result is '1'

4.Coalesce函数

Coalese函数的作用是的NVL的函数有点相似,其优势是有更多的选项。

格式如下:

Coalesce(expr1, expr2, expr3….. expression_n)

依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。使用COALESCE在于大部分包含空值的表达式最终将返回空值。如果第一个参数为空,则看第二个参数是否是空,否则则显示第一个参数,如果第二个参数是空再看第三个参数是否为空,否则显示第二个参数,依次类推,这个函数实际上是NVL的循环使用。

eg:

select COALESCE(null,1,2,3) from dual   --the result is '1'
select COALESCE(null,null,2,3) from dual    --the result is '2'
select COALESCE(null,null,null,3) from dual   --the result is '3'
select COALESCE(null,1,null,2) from dual      --the result is '1'

最新文章

  1. 【星路演】DeviceOne:跨平台APP开发平台
  2. ArcGIS支持MongoDB数据源
  3. javascrit2.0完全参考手册(第二版) 第1章第1节 在XHTML文档中增加javascript
  4. [转] 你是as3老鸟吗?但是有些你可能目前都不知道的东西
  5. ARM异常---一个DataAbort的触发过程:
  6. int *p = NULL 和 *p = NULL(转载)
  7. EF 下的code fist 模式编程
  8. 微信小程序怎样提高应用速度小技巧
  9. TypeScript设计模式之解释器
  10. 2017年最好的6个WEB前端开发手册下载
  11. private ,friendly,public protected四种修饰符访问权限(从idea代码提示中看出)
  12. 插上腾飞的翅膀:为asp.net core添加protobuf支持
  13. SQL反模式学习笔记14 关于Null值的使用
  14. git 执行pull错误如何撤销
  15. qtp 自动化测试--点滴 菜单没有了,有些控件运行时找不到
  16. 【C++】10.18日的C++笔记
  17. sar监控工具详解
  18. Ubuntu 搭建Ghost1.0博客系统
  19. 微信小程序、安卓APP、苹果APP对比分析
  20. WordPress“无法将上传的文件移动至wp-content/uploads/”的解决办法

热门文章

  1. HDU 4750
  2. T-SQL备忘(3):分组合并
  3. 定时组件quartz系列<三>quartz调度机制调研及源码分析
  4. yeoman的学习
  5. Java条件语句之 switch
  6. PHP的cURL库:抓取网页,POST数据及其他,HTTP认证 抓取数据
  7. ASP.NET Web API 帮助(help)页面上没有 Test API按钮的解决方法
  8. 微信公众平台开发localStorage数据总是被清空
  9. TortoiseSVN 插件配置及使用方法
  10. PASCAL相关图书推荐