How to select a result of comparison operator as a field with type BIT?
How it does work in C#
:
bool isGreater = FieldA > FieldB;
How it doesn't work in T-SQL
:
SELECT (FieldA > FieldB) AS BIT FROM t
How to write such task properly?
There is no != operator according to the ANSI/SQL 92 standard.
You should use CASE clause:
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
If you want to return a BIT, then you need the convert (or cast) to a bit data type, otherwise, SQL would interpret the hard coded constant (1 or 0) as an integer.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With