2007-03-13
oracle 中'' 本质竟然是null...
http://yangtingkun.itpub.net/post/468/245697
SQL> SELECT 1 FROM DUAL WHERE '' = '';
未选定行
SQL> SELECT 1 FROM DUAL WHERE '' IS NULL;
1
----------
1
SQL> SELECT DUMP(''), DUMP(NULL) FROM DUAL;
DUMP DUMP
---- ----
NULL NULL
上面三个SQL语句,任意一个都足以证明空字符串’’就是NULL。
-------
那sql中如果用 name='' 是根本不会返回值的,但是别的数据库这样又是可以的.为了可移植到别的数据库,难道得写成 name ='' or name is null ?? 可是这样逻辑 和 =''又不太一样了..这就要求程序里面把''和null 等同看待.
通过hibernate查询返回的是null,不会有"".
SQL> SELECT 1 FROM DUAL WHERE '' = '';
未选定行
SQL> SELECT 1 FROM DUAL WHERE '' IS NULL;
1
----------
1
SQL> SELECT DUMP(''), DUMP(NULL) FROM DUAL;
DUMP DUMP
---- ----
NULL NULL
上面三个SQL语句,任意一个都足以证明空字符串’’就是NULL。
-------
那sql中如果用 name='' 是根本不会返回值的,但是别的数据库这样又是可以的.为了可移植到别的数据库,难道得写成 name ='' or name is null ?? 可是这样逻辑 和 =''又不太一样了..这就要求程序里面把''和null 等同看待.
通过hibernate查询返回的是null,不会有"".
发表评论
- 浏览: 382648 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
我的相册
Gmail
共 8 张
共 8 张
最新评论
-
java encoding参考
Good ,thanks.
-- by zuowei -
有多少异常可以重来
我今天也遇到这个问题,才搜到这个帖子~ 还没有解决,等恢复哦
-- by javamanlcy007 -
有多少异常可以重来
这个错误解决了,又抱了别的错误~
-- by iceworld4143 -
有多少异常可以重来
解释不太懂,我也遇到这个问题了,可是我没用ant。 等回复。
-- by iceworld4143 -
考试不及格
证券从业资格考试
-- by eyejava






评论排行榜