如果我使用查询
SELECT * FROM TABLE_NAME WHERE COLUMN1 = "ABC";
或
SELECT COLUMN1 FROM TABLE_NAME WHERE COLUMN1 = "ABC";
表的和COLUMN1字段不包含数据ABC将返回什么内容?
答案 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。如果没有行满足该条件,则不会返回任何行。