select count(case when tid='' then 1 else 0 end) from (select '' as tid from dual)
返回1select count(*) from (select '' as tid from dual) where tid=''
返回0
oracle
返回1select count(*) from (select '' as tid from dual) where tid=''
返回0
oracle
调试欢乐多
select count(*) from (select '' as tid from dual) where tid is null
第二个 明显是没有记录,因为条件为FALSE了, COUNT(*)自然就是0了
10:45:23 ChenZw> select nvl('','true') from dual;NVL(
----
true已选择 1 行。已用时间: 00: 00: 00.01
10:50:04 ChenZw> select nvl('',1) from dual;N
-
110:50:17 ChenZw> select nvl2('',1,-1) from dual;NVL2('',1,-1)
-------------
-1已选择 1 行。
我的预期结果,两个都是1,但是上面的结果为什么不一样呢?