クエリを少し再配置することで、目的を達成できます。トリックは、ISNULL
結果の値が決して NULL
にならないことを SQL Server が認識する前に、外側にある必要があります。 .
SELECT ISNULL(CAST( CASE Status WHEN 3 THEN 1 ELSE 0 END AS bit), 0) AS HasStatus FROM dbo.Product
プレ>これが実際に役立つ理由の 1 つは、ORM を使用する場合です。 また、結果の値を null 許容型にマップしたくない場合。アプリケーションが値を null である可能性がないと見なすと、すべてが簡単になります。その後、null 例外などを処理するコードを記述する必要はありません。