📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

REGEXP_SPLIT_TO_ARRAY



正規表現パターンを使用して文字列を分割し、各セグメントを配列として返します。

構文

REGEXP_SPLIT_TO_ARRAY(string, pattern [, flags text])
パラメータ説明
string分割対象の入力文字列(VARCHAR 型)
pattern分割に使用する正規表現パターン(VARCHAR 型)
flags text正規表現の動作を変更するためのフラグ文字列です。

サポートされる flags パラメータ:

以下の文字を組み合わせることで、マッチング動作を制御する柔軟な正規表現の設定オプションを提供します。

  • i (大文字小文字を区別しない): パターンマッチングで大文字小文字を区別しません。
  • c (大文字小文字を区別する): パターンマッチングで大文字小文字を区別します(デフォルトの動作)。
  • n または m (複数行): 複数行モードを有効にします。このモードでは、^ と $ はそれぞれ文字列全体の先頭と末尾だけでなく、各行の先頭と末尾にもマッチします。ドット . は改行文字にマッチしません。
  • s (単一行): 単一行モードを有効にします(dot-matches-newline とも呼ばれます)。このモードでは、ドット . は改行文字を含む任意の文字にマッチします。
  • x (空白を無視): パターン内の空白文字を無視します(パターンの可読性が向上します)。
  • q (リテラル): pattern を正規表現ではなくリテラル文字列として扱います。

例

基本的な分割

SELECT REGEXP_SPLIT_TO_ARRAY('apple,orange,banana', ','); ┌───────────────────────────────────────────┐ │ ["apple","orange","banana"] │ └───────────────────────────────────────────┘

複雑な区切り文字

SELECT REGEXP_SPLIT_TO_ARRAY('2023-01-01T14:30:00', '[-T:]'); ┌───────────────────────────────────────────────────────┐ │ ["2023","01","01","14","30","00"] │ └───────────────────────────────────────────────────────┘

空要素の処理

SELECT REGEXP_SPLIT_TO_ARRAY('a,,b,,,c', ',+'); ┌───────────────────────────────────┐ │ ["a","b","c"] │ └───────────────────────────────────┘

flag text を使用する

SELECT regexp_split_to_array('One_Two_Three', '[_-]', 'i') ╭─────────────────────────────────────────────────────╮ │ ['One','Two','Three'] │ ╰─────────────────────────────────────────────────────╯

関連情報

このページは役に立ちましたか?