Форма SQL для возврата Bool в C # - PullRequest
2 голосов
/ 21 марта 2012

каков наилучший способ сформировать мой sql, чтобы он возвращал bool в переменную c #? Или проще проверить скалярное значение при возврате функции .ExecuteScalar?

По сути, хотите узнать, существует строка или нет.

select COUNT(COLUMN_NAME) from INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME='Customers' 
AND
COLUMN_NAME = 'birthdate'
AND
DATA_TYPE = 'datetime'

например, если строка существует выше, вернуть true.

1 Ответ

5 голосов
/ 21 марта 2012

Вы можете использовать проверку CASE по результату COUNT () для принудительной установки 0 или 1:

SELECT CASE WHEN COUNT(COLUMN_NAME) = 0 THEN 0 ELSE 1 END AS IsColumPresent
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME='Customers' 
AND
COLUMN_NAME = 'birthdate'
AND
DATA_TYPE = 'datetime'

Это вернет 0 или 1

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