当NULL在SQLite中生成错误结果时的情况?
我有一个表,表中有一列图像类型,表中有一些行,但所有行还没有任何图像,它们都是空的。为了测试NULL时的情况,我尝试了这个方法,它给出了一个奇怪的结果:当NULL在SQLite中生成错误结果时的情况?,sql,database,sqlite,null,Sql,Database,Sqlite,Null,我有一个表,表中有一列图像类型,表中有一些行,但所有行还没有任何图像,它们都是空的。为了测试NULL时的情况,我尝试了这个方法,它给出了一个奇怪的结果: SELECT CASE myImageColumn WHEN NULL THEN 0 ELSE 1 END FROM myTable 所有返回的行都在一列1中(我认为是0)。这里怎么了 非常感谢您的帮助 谢谢大家! 您不能像那样与NULL进行比较,您应该尝试: SELECT CASE WHEN myImageColumn IS NULL TH
SELECT CASE myImageColumn WHEN NULL THEN 0 ELSE 1 END FROM myTable
所有返回的行都在一列1中(我认为是0)。这里怎么了
非常感谢您的帮助
谢谢大家! 您不能像那样与
NULL
进行比较,您应该尝试:
SELECT CASE WHEN myImageColumn IS NULL THEN 0 ELSE 1 END
FROM myTable
使用不同形式的
案例
:
SELECT CASE WHEN myImageColumn IS NULL THEN 0 ELSE 1 END FROM myTable
两个有用的链接:
- 有一个旁路:
CASE ifnull(myValue, 'someUniqueStringOrValue')
WHEN 'someUniqueStringOrValue' THEN 0 -- this means null
WHEN 'someNormalValue' THEN 1
END
因为null是未知的,没有任何东西等于null。@MikeChristensen谢谢你,我知道你可以给我一个解决方案,但是你可以在这里评论一下,另一个已经回答了我的问题。非常感谢。拉马克的答案是完美的。我不太了解SQLLite,所以我不敢发布一个不起作用的答案:)这在MS SQL Server中不起作用,你知道SQL Server的解决方案吗?谢谢谢谢,在我向拉马克道谢后,你迟到了一点。但是给你我的+1。谢谢,好主意。谢谢