社区
Oracle
帖子详情
Oracle判断为空函数的使用
wanglelele
2009-02-27 09:56:22
请教高手,Oracle中的为空处理函数coalesce(字段,'') != ''取不出资料
注:表中存在资料,取的字段为varchar的,这是为什么?
...全文
3769
6
打赏
收藏
Oracle判断为空函数的使用
请教高手,Oracle中的为空处理函数coalesce(字段,'') != ''取不出资料 注:表中存在资料,取的字段为varchar的,这是为什么?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用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
decode
判断
不
为空
拼接_
使用
Oracle
的Decode
函数
进行多值
判断
SQL> create table t as select username,default_tablespace,lock_date from dba_users;Table created.SQL> select * from t;USERNAME DEFAULT_TABLESPACE LOCK_DATE-----...
oracle
中的nvl
函数
使用
NVL
函数
作用:
判断
某个值是否
为空
值,若不
为空
值则输出,若
为空
值,返回指定值。 详细解释如下: 1、nvl()
函数
的格式如下:NVL(expr1,expr2); 2、含义是:如果
oracle
第一个参数
为空
那么显示第二个参数的值,如果第一个参数的值不
为空
,则显示第一个参数本来的值。 3、例:select name,NVL(name,-1) from user;运行后,结果返回两列数值,若name
为空
,则返回-1,若name不
为空
值,则返回其自身。 注意:
使用
nvl
函数
的前提是查询到的结果不
为空
,
oracle
中clob类型字段
判断
非空条件
oracle
clob字段
判断
非空,需要以下两个条件同时满足才行:字段 is not null and length(字段)>0
oracle
clob字段
判断
为空
,需要以下两个条件满足一个即可:字段 is null or length(字段)=0
Oracle
中对空字符串的
判断
习惯了编程的人喜欢用!=,但这样都是错误的,应该
使用
isnull或者isnotnull,或者
使用
nvl
函数
。=null我们看上去这是对的,但是和null的比较都为fasle,所以结果是false。首先理解,在
oracle
中,默认将空字符视为null,而对null进行
判断
都为false。
oracle
中常见的一个小错误就是字符串
判断
是否
为空
。或者
使用
nvl
函数
,nvl(字符串,
为空
时的默认值)...
关于
oracle
中
使用
nvl
函数
时,对空字符串的理解
昨天下班之前在程序中遇到了一个
使用
nvl的sql语句,相信这个
函数
大家都应该
使用
过,并且应该是很简单的。因为之前做的数据库移植时遇到过这个问题,所以今天拿来在这里记载一下。其中有一段where条件是这样的: and ((nvl(, ) (nvl(, ) = and a.benifitvchno like %))
Oracle
17,133
社区成员
55,258
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章