0
Redshiftデータベースに、ビットマスクをintとして格納した列があります。特定のビット(たとえば、32)が設定されているかどうかを調べる方法が必要です。 Redshiftにはbit_and
がありますが、これは集計関数に過ぎません。だから、あなたはできませんbit_and(column, 32)
。BitwiseとAmazon Redshift SQL
私は、バイナリ表現であってsubstring
を使用しているcharにint型をキャストすることでこれをハックするのも楽しいでしょう。しかし、それはどちらかのキャストを行う方法があるように見えません。
value & 32
は、value + 32
と同じくらい簡単ですが、明らかにRedshiftではありません。何か案は?
入力:
le_column
35
2
所望の出力:
column_has_32_set
1
0
ありがとう! AWSドキュメントは、 '&'演算子で更新されました。 –
素晴らしい! '|'(ビット単位または)演算子を追加できますか? –