REGEXP_LIKE

は、文字列が正規表現と一致する場合にtrueを返します。 この関数はLIKE述語に似ていますが、単純なワイルドカード文字の照合ではなく正規表現を使用する点が異なります。 P>

構文

REGEXP_LIKE(string,pattern)

パラメータ

string

VARCHAR

VARCHAR

VARCHAR

VARCHAR

VARCHARLONG VARCHAR正規表現パターンの一致を検索する文字列。 Flexまたはcolumnarテーブルの__raw__LONG VARCHARにキャストします。 /p>

pattern

文字列と一致する正規表現を含む文字列。 正規表現の構文は、Perl5の正規表現構文と互換性があります。 詳細については、Perl正規表現のドキュメントを参照してください。

正規表現が文字列内の一致を見つける方法を変更する1つ以上の単一文字フラグ:

b

utf-8文字ではなく、バイナリオクテットとしての文字列。 /p>

c

大文字と小文字を区別するように強制します(デフォルト)。/p>

i

大文字と小文字を区別しないようにします。/p>

m

一致する文字列を複数行として扱います。 この修飾子を使用すると、行の先頭(^$)\nmがない場合、行の開始演算子と終了演算子は文字列の開始と終了のみに一致します。

n

単一文字の正規表現演算子(.\nn.演算子は改行以外の任意の文字に一致します。/p>

x

正規表現にコメントを追加します。 x#\n\)文字でエスケープする必要があります。P>

注意事項

この関数は、ロケールが何か他のものに設定されている場合でも、デフォルトのロケールを使用してUTF-8文字列 Oracleデータベースから正規表現問合せを移植する場合、Oracleでは長さゼロの文字列がNULLと同等であると見なされますが、Verticaでは同等ではないことに注意して

Examples

この例では、正規表現を示すために複数の文字列を含むテーブルを作成します。

文字”a”を含むテーブル内のすべてのレコードを選択します。

=>SELECT V FROM t WHERE REGEXP_LIKE(v,'a');V------Aaa aaa abc abc1(4rows)

文字”a”で始まるテーブル内のすべての行を選択します。”

=>select V FROM t WHERE REGEXP_LIKE(v,'^a');v------aaa abc abc1(3行)

部分文字列”aa”を含むすべての行を選択します。”

=>select V FROM t WHERE REGEXP_LIKE(v,'aa');V-----Aaa aaa(2行)

数字を含むすべての行を選択します。p>

=>Tからvを選択します。REGEXP_LIKE(v,'\d');v------ 123 abc1(2行)

部分文字列”aaa”を含むすべての行を選択します。”

=>SELECT V FROM t WHERE REGEXP_LIKE(v,'aaa');v-----aaa(1row)

大文字と小文字を区別しない一致を使用して、部分文字列”aaa”を含むすべての行を選択します。P>

=>select V FROM t WHERE REGEXP_LIKE(v,'aaa','i');V-----Aaa aaa(2行)

部分文字列”a b c”を含む行を選択します。

=>

tからvを選択します。regexp_like(v,’a b c’); v—(0行)

正規表現内のスペースを無視して、部分文字列”a b c”を含む行を選択します。

=>select V FROM t WHERE REGEXP_LIKE(v,'a b c','x');v------abc abc1(2rows)

“m”修飾子を使用して示すために複数行の行を追加します。

部分文字列”Record”で始まり、部分文字列”line2″で終わる行を選択します。”

=>Tからvを選択します。REGEXP_LIKE(v,'^Record.*2行目†'); v---(0行)

部分文字列”Record”で始まり、部分文字列”line2″で終わる行を選択し、複数の行を別々の文字列として扱います。

Related Posts

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です