Oracle判断为空函数的使用

wanglelele 2009-02-27 09:56:22
请教高手,Oracle中的为空处理函数coalesce(字段,'') != ''取不出资料
注:表中存在资料,取的字段为varchar的,这是为什么?
...全文
3711 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanglelele 2009-02-27
  • 打赏
  • 举报
回复
多谢各位的帮忙,我会去试一下的。
oraclelogan 2009-02-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mosaic 的回复:]
这是因为oracle里面''和null是等价的,不能进行常规比较,改成coalesce(字段,'') is not null 就可以了。
所以2楼的第2句也是有问题的。

请参考俺的Blog文章,呵呵,顺便推销一下:

http://blog.csdn.net/mosaic/archive/2009/02/16/3897873.aspx
[/Quote]

这位兄弟说的不错,平时工作中用nvl以及is null比较多。 coalesce用的比较少。
mosaic 2009-02-27
  • 打赏
  • 举报
回复
这是因为oracle里面''和null是等价的,不能进行常规比较,改成coalesce(字段,'') is not null 就可以了。
所以2楼的第2句也是有问题的。

请参考俺的Blog文章,呵呵,顺便推销一下:

http://blog.csdn.net/mosaic/archive/2009/02/16/3897873.aspx

wanglelele 2009-02-27
  • 打赏
  • 举报
回复
coalesce是ANSI SQL函数没有错误,就是用这个函数
Andy__Huang 2009-02-27
  • 打赏
  • 举报
回复
判断为空函数nvl(aaa,'x'),意思字段aaa为空,则取值为x

取为空的资料:
select * from tb where col is null
或者
select * from tb where nvl(col,'')=''

取不为空的资料:
select * from tb where col is not null


jdsnhan 2009-02-27
  • 打赏
  • 举报
回复
判断空用is null

转换空 用nvl

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧