次のクエリを書きたい:
SELECT ..., MIN(SomeBitField), ...
FROM ...
WHERE ...
GROUP BY ...
問題は、SQL Serverがそれを好まないことですOperand data type bit is invalid for min operator
。ビットフィールドの最小値を計算したい場合、エラーが返されます。
次の回避策を使用できます。
SELECT ..., CAST(MIN(CAST(SomeBitField AS INT)) AS BIT), ...
FROM ...
WHERE ...
GROUP BY ...
しかし、もっとエレガントなものはありますか?(たとえば、私が知らないand
、フィールド内のビット値の論理を評価する集計関数がある場合があります。)
Operand data type bit is invalid for min operator.