ASIPの徒然なるままに このページをアンテナに追加 RSSフィード

2007-10-13

ORの代わりに正規表現 on SQL with Java 01:33 ORの代わりに正規表現 on SQL with Javaを含むブックマーク ORの代わりに正規表現 on SQL with Javaのブックマークコメント

「column ~ '^(A|B|C)$'」はIN演算子で「column in ('A','B','C')」。

「column in ('A','B','C')」をPreparedStatement化すると

「column in (?,?,?)」、

「column ~ '^(A|B|C)$'」をPreparedStatement化すると

「column ~ ?」(PostgreSQLの場合)。

「REGEXP_LIKE(column,?)」(Oracle10gの場合)。

A,B,C部分の数が固定ならIN演算子でもよいが、A,B,C部分の数が可変なら

正規表現(~演算子等)を使ったほうがコードがキレイ、

PreparedStatement利用の場合。