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,不会有"".
评论
发表评论

您还没有登录,请登录后发表评论

eyejava
搜索本博客
我的相册
5882c820-4b57-4dfd-b8d1-046e88098b0f-thumb
Gmail
共 8 张
存档
最新评论