данных, если я использую запрос какНулевые значения в таблице
SELECT * FROM TABLE_NAME WHERE COLUMN1 = "ABC";
или
SELECT COLUMN1 FROM TABLE_NAME WHERE COLUMN1 = "ABC";
и COLUMN1 поле таблицы не содержит ABC данных, что он вернется?
данных, если я использую запрос какНулевые значения в таблице
SELECT * FROM TABLE_NAME WHERE COLUMN1 = "ABC";
или
SELECT COLUMN1 FROM TABLE_NAME WHERE COLUMN1 = "ABC";
и COLUMN1 поле таблицы не содержит ABC данных, что он вернется?
Если вы используете SqlDatareader, тогда предыдущая команда ничего не вернет и reader.Read вернет false, потому что нет строк.
Но в целом для нулевых или пустых столбцов в строках вы получите DBNull и вы можете использовать IsDBNull метод подвергается в SqlDataReader классе
Как передовой практика, вы можете использовать «ABC», а не «ABC», который иногда имеет другое значение ...
Это просто вернет сетку без каких-либо строк ... как это интерпретируется, зависит от того, как вы делаете доступ к данным. Он может проявляться как DataTable
без каких-либо строк, или как пустая последовательность IQueryable<T>
, или как DbDataReader
, которая возвращает false
из Read()
.
Первый запрос возвращает все столбцы, второй запрос - только цитируемый столбец; но в любом случае, если нет соответствующих данных, строк не будет.
Только строки с COLUMN1 = "ABC" будут возвращены вообще, поэтому в обоих случаях COLUMN1 будет содержать ABC. Если ни один из строк не соответствует этому критерию, никакие строки не будут возвращены.