преобразование от 'Y' или 'N' к биту

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

Следующее является кодом:

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

Править: Как я могу удостовериться, что тип столбца имеет тип BIT?

5
задан Riz 27 March 2010 в 16:13
поделиться

3 ответа

Это даст вам ваш бит...

CAST(CASE WHEN Direct = 'Y' THEN 1 ELSE 0 END AS BIT) AS DirectDebit
7
ответ дан 13 December 2019 в 05:32
поделиться

Посмотрите, работает ли это:

SELECT CASE WHEN Direct = 'Y' THEN 1 ELSE 0 END FROM YOURTABLE
4
ответ дан 13 December 2019 в 05:32
поделиться
SELECT CASE Direct
WHEN 'Y' THEN '1' 
WHEN 'N' THEN '0' 
ELSE '0'
END as DirectDebit
FROM TableName

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

1
ответ дан 13 December 2019 в 05:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: