intの値が(各ビットがフラグである)ビットフィールドとして使用されているテーブルを持っています。バイナリで集計されたビットフィールド値
ように、今、私は(私の場合にはOR)バイナリ操作でそれらを集約したいと思います:これを行うには良い方法だろうどのような値171
につながる
SELECT 1 AS bitfield
INTO #TABLE
UNION ALL SELECT 1 + 2 + 8 + 32
UNION ALL SELECT 2 + 128
UNION ALL SELECT 2 + 32
SELECT AND_AGGR(bitfield) -- Invalid because AND_AGGR doesn't exist
FROM #TABLE
DROP #TABLE
それはうまくいけば|
とMAX
の多くを必要としません(しかし、あなたがする必要があります、あなたがする必要があります)?
私は自分でMS SQL Server 2008を使用していますが、他のサーバー上のソリューションも重要です。
"私はバイナリ操作でそれらを集計したいと思います(私の場合はANDです)" OR "ではなく" AND "を意味しますか? –
もちろん私はします。私はそれを変更します。それを指摘してくれてありがとう:) – ANisus