Oracle 语句如下
SELECT tuihuitime,kaibiaoremark,danweiguid,danweiname,rowguid,biaoduanguid from PingBiao_KaibiaoTouBiao WHERE
BiaoDuanGuid='83a78c4c-eeab-4073-865b-9bb7f88916b2' and IsTouBiao='1'
and IsSucceed='1'
当使用NVL()函数添加对字段 tuihuitime 的判断后,得到的查询结果却变成了空
and (nvl(tuihuitime,'')='')
nvl一般是给一个非空的值,你这个(tuihuitime,'') 最终不还是返回null么,那你条件就应该是
and (nvl(tuihuitime,'') is null)
NVL(string1, replace_with)
功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。
-- 计算年工资,comm为奖金.部分员工没有奖金,如果comm值为null,则用0来替代
select ENAME 姓名,12*SAL + nvl(comm,0) 工资 from EMP;
NVL2(expr1,expr2,expr3)
功能:如果参数表达式expr1值为NULL,则NVL2()函数返回参数表达式expr3的值;如果参数表达式expr1值不为NULL,则NVL2()函数返回参数表达式expr2的值。
-- 如果flag的值为null,则返回值为22;如果flag的值不为null,则返回值为11
select nvl2(flag,'11','22')flag from t_operation_log