Нулевые значения в таблице данных - PullRequest
0 голосов
/ 20 июля 2009

, если я использую запрос как

SELECT * FROM TABLE_NAME WHERE COLUMN1 = "ABC";

или

SELECT COLUMN1 FROM TABLE_NAME WHERE COLUMN1 = "ABC";

и поле COLUMN1 таблицы не содержит данных ABC, что он будет возвращать?

Ответы [ 3 ]

2 голосов
/ 20 июля 2009

Рекомендуется использовать «ABC», а не «ABC», который иногда имеет другое значение ...

Это просто вернет сетку без каких-либо строк ... как это интерпретировать, зависит от того, как вы делаете доступ к данным. Он может проявляться как DataTable без каких-либо строк, или как пустая последовательность IQueryable<T>, или как DbDataReader, который возвращает false из Read().

Первый запрос возвращает все столбцы, второй запрос только цитируемый столбец; но в любом случае, если нет соответствующих данных, не будет строк.

0 голосов
/ 20 июля 2009

Только строки с COLUMN1 = "ABC" будут возвращены вообще, поэтому в обоих случаях COLUMN1 будет содержать ABC. Если никакие строки не соответствуют этому критерию, никакие строки не будут возвращены.

0 голосов
/ 20 июля 2009

Если вы используете SqlDatareader, то предыдущая команда ничего не даст и reader.Read вернет false, потому что нет строк.

Но в целом для пустых или пустых столбцов в строках вы получите DBNull и можете использовать метод IsDBNull, представленный в классе SqlDatareader

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...