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

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

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-03 11:00:39914ブラウズ

How to Efficiently Split Comma-Separated Values in SQLite?

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

カンマ区切り値を含むデータを操作する場合、個々のコンポーネントを抽出することが必要になる場合があります。 SQLite では、これを実現するために Replace() や Trim() などの関数を使用するのは面倒な場合があります。ここでは、Common Table Expression (CTE) を使用したより効率的なアプローチを示します。

解決策:

ステップ 1: 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 と CSV を初期化しますcolumns.
  • UNION ALL: CSV 値をカンマで再帰的に分割します。
  • WHERE csv != '': 分割する値がなくなったら再帰を終了します。

ステップ 2:

SELECT word FROM split WHERE word!='';
  • 最初と最後の行 (ダミー/終端値) をフィルタリングします。
  • 分割された値を単語に抽出します。 column.

出力:

Auto
A
1234444

このソリューションは、文字列の長さが異なる場合でも、SQLite でカンマ区切りの値を分割する簡単かつ効率的な方法を提供します。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。