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

REGEXP_SPLIT_TO_TABLE



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

構文

REGEXP_SPLIT_TO_TABLE(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_TABLE('one,two,three', ','); ┌─────────┐ │ one │ │ two │ │ three │ └─────────┘

ログの解析

SELECT REGEXP_SPLIT_TO_TABLE('ERR:404:File Not Found', ':'); ┌──────────────────┐ │ ERR │ │ 404 │ │ File Not Found │ └──────────────────┘

flag text を使用する

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

ネストした使用方法

WITH data AS ( SELECT 'id=123,name=John' AS kv_pairs ) SELECT REGEXP_SPLIT_TO_TABLE(kv_pairs, ',') AS pair FROM data; ┌──────────────┐ │ id=123 │ │ name=John │ └──────────────┘

関連情報

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