Использование операторов сравнения в предложении SELECT запроса T-SQL
Как выбрать результат оператора сравнения как поля с типом BIT?
Как это работает в C#:
bool isGreater = FieldA > FieldB;
Как это работает в T-SQL:
SELECT (FieldA > FieldB) AS BIT FROM t
Как правильно написать такую задачу?
Ответ 1
Вы должны использовать предложение CASE:
CASE
WHEN FieldA > FieldB THEN 1
ELSE 0
END
Ответ 2
Select Convert(Bit, Case When FieldA > FieldB Then 1 Else 0 End) As YourBitColumn
Если вы хотите вернуть BIT, вам нужно преобразовать (или привести) в бит тип данных, иначе SQL интерпретирует жестко закодированную константу (1 или 0) как целое число.