У меня есть таблица, которая имеет столбец под названием Прямой из символа типа (1). Это - значения, или 'Y' или 'N' или NULL. Я создаю представление, и я хочу, чтобы значение было преобразовано или к 0 или к 1 из бита типа. Прямо сейчас это имеет тип INT. Как я иду о выполнении этого?
Следующее является кодом:
CASE WHEN Direct = 'Y' THEN (SELECT 1)
WHEN Direct <> 'Y' THEN (SELECT 0) END AS DirectDebit
Править: Как я могу удостовериться, что тип столбца имеет тип BIT?
Это даст вам ваш бит...
CAST(CASE WHEN Direct = 'Y' THEN 1 ELSE 0 END AS BIT) AS DirectDebit
Посмотрите, работает ли это:
SELECT CASE WHEN Direct = 'Y' THEN 1 ELSE 0 END FROM YOURTABLE
SELECT CASE Direct
WHEN 'Y' THEN '1'
WHEN 'N' THEN '0'
ELSE '0'
END as DirectDebit
FROM TableName
... должно работать.