在写mysql语句时遇到一个字符串比较时出现的问题,
我想要在字符串A不等于字符串B时输出一个结果,于是写了下列语句
select ‘期望的结果’ from thg where thg.word != thg.sentence
但是发现,当一种一个字符串为null,另一个不为null时,按照常理应该两个字符串不相等,会输出结果 ‘期望的结果’
但是,发现并没有输出,于是探究后发现:
字符串与null 用**=或!=号比较时,会返回null**,
可以采用<=>符号进行字符串的比较,如上图。
发现没有!<=>或<!=>符号,为了实现我想要的输出结果,我这样写:
select ‘期望的结果’ from thg where !(thg.word <=> thg.sentence)