ホームページ > データベース > mysql チュートリアル > CTE を使用して SQLite でカンマ区切り値を効率的に分割するにはどうすればよいですか?

CTE を使用して SQLite でカンマ区切り値を効率的に分割するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-04 03:12:11
オリジナル
198 人が閲覧しました

How Can I Efficiently Split Comma-Separated Values in SQLite Using CTEs?

SQLite でのカンマ区切り値の分割

SQLite でカンマ区切り文字列を操作する別のアプローチには、共通テーブル式 (CTE) を利用する方法があります。 )。 CTE は、文字列を個々の値に効果的に分割する手段を提供します。

ステップバイステップの実装:

  1. CTE の作成: まず、2 つのパラメータ (個々の値を保持する word と、値を保存する csv) を受け入れる、split という名前の CTE を定義します。カンマ区切りの文字列。
  2. 初期クエリ: CTE の初期クエリでは、末尾を示す追加のカンマを連結して CSV 文字列を指定します。
  3. 再帰クエリ: 再帰クエリは、substr() と instr() を使用して、最初の単語から次のカンマまでを入力し、CSV を更新して解析された部分を削除します。このプロセスは、カンマがなくなるまで繰り返されます。
  4. 結果の選択: 最後に、生の CSV 文字列とその他の文字列を表す最初と最後の行を除いて、CTE から単語列を選択します。残りの空text.

例:

CTE アプローチを説明するコード サンプルを次に示します:

WITH split(word, csv) AS (
  SELECT '', 'Auto,A,1234444'||','
  UNION ALL SELECT
    substr(csv, 0, instr(csv, ',')),
    substr(csv, instr(csv, ',') + 1)
  FROM split
  WHERE csv != ''
) SELECT word FROM split 
WHERE word!='';
ログイン後にコピー

出力:

Auto
A
1234444
ログイン後にコピー

このメソッドは、カンマ区切りの文字列を分割するための簡潔かつ効率的な方法を提供します。 SQLite では、個々の値に簡単にアクセスできるようになります。

以上がCTE を使用して SQLite でカンマ区切り値を効率的に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート