问题遇到的现象和发生背景
想要查找数据库中的值,其中筛条件是非空的字符串和非null
问题相关代码,请勿粘贴截图
--sql1
SELECT
a.CHANGEDATE,a.reportno as 报文编号
FROM FEECR_ENTCHANGEHIS a
where a.CHANGEDATE <> '';
--sql2
SELECT
a.CHANGEDATE,a.reportno as 报文编号
FROM FEECR_ENTCHANGEHIS a
where a.CHANGEDATE is not null;
运行结果及报错内容
sql1结果
sql2结果
我的解答思路和尝试过的方法
在我之前的理解,<> ''是不等于空字符串,那么理论上sql2结果的值是符合要求的,就应该能找出来才对,但实际上一个结果都没了。在网上找了一下,都没找到满意的答案,感觉和我之前的理解差不多,都不应该出现我上面sql1遇到的问题。
想请教下<> '' 和 is not null的区别。