数据表中的空值

时间:2009-07-20 10:01:16

标签: c# sql sql-server

如果我使用查询

SELECT * FROM TABLE_NAME WHERE COLUMN1 = "ABC";

SELECT COLUMN1 FROM TABLE_NAME WHERE COLUMN1 = "ABC";
表的

和COLUMN1字段不包含数据ABC将返回什么内容?

3 个答案:

答案 0 :(得分:2)

作为最佳实践,您可能希望使用“ABC”而不是“ABC”,这有时会有不同的含义......

这将只返回一个没有任何行的网格......如何解释这取决于你如何进行数据访问。它可以显示为DataTable没有任何行,或者显示为空的IQueryable<T>序列,或者显示为从DbDataReader返回false的{​​{1}}。

第一个查询返回所有列,第二个查询只返回引用列;但不管怎样,如果没有匹配的数据,就没有行。

答案 1 :(得分:0)

如果您使用的是SqlDatareader,则上一个命令将不返回任何内容 和reader.Read将返回false,因为没有行。

但是通常对于行中的空列或空列,您将获得DBNull,并且可以使用在SqlDatareader类中公开的IsDBNull方法

答案 2 :(得分:0)

只会返回COLUMN1 =“ABC”的行,因此在这两种情况下,COLUMN1都将包含ABC。如果没有行满足该条件,则不会返回任何行。