3

SQL-Server に SQL コマンドがあり、それを Oracle に移行する必要がありますが、SQL の一部に変換方法がわかりません。SQLは次のとおりです。

select * from myTable where id = @id and (Mask & @Mask) = @Mask

バイナリマスクだと思いますが、よくわかりませんし、Oracleでそれができるかどうかもわかりません。助けてもらえますか?

どうもありがとうございました

4

1 に答える 1

5

あなたは正しいです - これはバイナリマスクです。

Oracle は BITAND 関数のみを提供し、その他 (BITOR、BITXOR) は自作する必要があります。

BITAND 関数を使用すると、この選択は値 2 を返します。

SELECT BITAND(6,2) FROM DUAL;

したがって、Oracle でのクエリは次のように書き直すことができます。

select * from myTable where id = :id and BITAND(Mask, :Mask) = :Mask
于 2013-08-08T08:02:48.847 に答える