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