在sqlserver和oracle中,’’和’ ’的含义是不一样的:
在sqlserver中,’’和’ ’都代表空的意思也就是它们的返回值是一样的,例如:
select case when ‘ 1’ <>’’ then ‘ok’ else ‘no’ end;
select case when ‘ 1’ <>’ ’ then ‘ok’ else ‘no’ end;
这两个的返回值都为ok
在oracle中,’’代表null,’ ‘则代表着空,例如:
select case when ‘ 1’ <>’’ then ‘ok’ else ‘no’ end from dual;
这个返回的值为no
select case when ‘ 1’ <>’ ’ then ‘ok’ else ‘no’ end from dual;
这个返回的值为ok
如果想让两个返回的值相同,要用到nvl函数(这个函数的作用就是判断所比较的值是否为null)
select case when '1'<>nvl('',' ') then 'ok' else 'no' end from dual;
本文出自 “乔磊的博客 学习 进步” 博客,请务必保留此出处http://www.voidcn.com/article/p-baotcfbi-bhq.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。