преобразование из «Y» или «N» в бит - PullRequest
5 голосов
/ 27 марта 2010

У меня есть таблица, в которой есть столбец с именем Direct типа char (1).Это значения либо Y, либо N, либо NULL.Я создаю представление и хочу, чтобы значение было преобразовано в 0 или 1 типа бит.Прямо сейчас это типа INT.Как мне это сделать?

Ниже приведен код:

CASE WHEN Direct = 'Y' THEN (SELECT 1)
WHEN Direct <> 'Y' THEN (SELECT 0) END AS DirectDebit

РЕДАКТИРОВАТЬ: Как я могу убедиться, что тип столбца имеет тип БИТ?

Ответы [ 3 ]

7 голосов
/ 27 марта 2010

Это даст вам шанс ..

CAST(CASE WHEN Direct = 'Y' THEN 1 ELSE 0 END AS BIT) AS DirectDebit
4 голосов
/ 27 марта 2010

Проверьте, работает ли это:

SELECT CASE WHEN Direct = 'Y' THEN 1 ELSE 0 END FROM YOURTABLE
1 голос
/ 27 марта 2010
SELECT CASE Direct
WHEN 'Y' THEN '1' 
WHEN 'N' THEN '0' 
ELSE '0'
END as DirectDebit
FROM TableName

... должно работать.

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