タイプBITのフィールドとして比較演算子の結果を選択するにはどうすればよいですか?
C#
での動作:
bool isGreater = FieldA > FieldB;
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)を整数として解釈します。