选择sql中非空的行

时间:2015-05-04 04:19:02

标签: sql

为什么以下代码不能在SQL中运行

SELECT * 
FROM DATA
WHERE VALUE != NULL;

6 个答案:

答案 0 :(得分:1)

如果你更换"!="与"不是"。

答案 1 :(得分:1)

我们无法将null值与 = We Special运算符进行比较以比较null sql中的值 IS OPERATOR

SELECT * 
FROM DATA
WHERE VALUE is not NULL;

Null不是任何Value.Sql认为Null为未知/缺少数据

答案 2 :(得分:1)

您所写的条件格式不正确。 如果要从表中选择非空值,则可以使用以下命令

select *from table name where column name IS NOT NULL

答案 3 :(得分:0)

因为NULL值表示缺少数据,所以用等号运算符比较具有值的东西是没有意义的。

您可以通过设置ANSI_NULLS OFF

来使SELECT语句工作
SET ANSI_NULLS OFF

在运行语句之前。您可以在此处获取更多信息:

https://msdn.microsoft.com/en-us/library/ms188048.aspx

答案 4 :(得分:0)

代码在SQL中不起作用,因为无法使用以下运算符=,<或<>来测试NULL值。无法比较NULL和0,因为它们不相等。

您可以使用IS NULL和IS NOT NULL运算符来测试NULL值。

SELECT * 
FROM DATA
WHERE VALUE IS NOT NULL

http://www.w3schools.com/sql/sql_null_values.asp

答案 5 :(得分:0)

Null不包含任何值。 Null既不是零也不是任何值。 所以我们无法使用比较运算符进行比较。 不应使用'=',而应使用'IS'关键字。

    SELECT * FROM DATA WHERE VALUE IS NOT NULL;