id sku content
11 IT3 Steel
12 IT4 Steel
15 IT7 Glass
返回结果:
Error: near line 1: unrecognized token: "1d"
为什么结果集中没有返回NULL值的id#13?使用MYSQL。
答案 0 :(得分:13)
根据你的where
子句,它比较null != 'Iron'
,它根据SQL的3路逻辑来计算UNKNOWN,既不是真也不是假。因此查询不会返回它。
如果您需要生成null
行,则应使用
where content !='Iron' or content is null
编辑:还有一个选项是使用关系空的安全等式运算符 <=>
,并带有否定。
not content <=> 'Iron'
从文档中
NULL-safe相等。此运算符执行与=运算符相等的比较,但如果两个操作数均为NULL,则返回1而不是NULL;如果一个操作数为NULL,则返回0而不是NULL。
&lt; =&gt; operator等效于标准SQL IS NOT DISTINCT FROM运算符。
mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL;
-> 1, 1, 0
mysql> SELECT 1 = 1, NULL = NULL, 1 = NULL;
-> 1, NULL, NULL
答案 1 :(得分:0)
ISNULL(content, '') = 'Iron'
这会将null转换为空字符串。