首页 新闻 会员 周边 捐助

t-sql逻辑判断

0
悬赏园豆:10 [已解决问题] 解决于 2016-07-01 16:02

IF(ISNULL(0,'')='')
PRINT '1'
ELSE
PRINT '0'

这个为什么是‘1’,上面的判断明明是false的

亚洲DotNet首席技师的主页 亚洲DotNet首席技师 | 初学一级 | 园豆:143
提问于:2016-07-01 15:06
< >
分享
最佳答案
0

ISNULL是判断列的内容是不是空,你这样写,他会认为去判断列名叫做【0】的列,如果找不到的话就会返回“”,这个时候等的判断时成立的,所以会返回‘1’。

收获园豆:10
蜗牛的春天 | 菜鸟二级 |园豆:298 | 2016-07-01 15:11

if(0 is null or 0='') 为啥也是true

亚洲DotNet首席技师 | 园豆:143 (初学一级) | 2016-07-01 15:32

最方便的判断字段是否为null或是空的方式,推荐一下

亚洲DotNet首席技师 | 园豆:143 (初学一级) | 2016-07-01 15:33

@LosPollos_Gus: sqlserver的这种判断是针对表的字段来判别的,针对是列不是一个具体的值。

蜗牛的春天 | 园豆:298 (菜鸟二级) | 2016-07-01 15:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册