SQLite の共通テーブル式を使用したカンマ区切りの値の分割
質問:
どうすればよいですかSQLiteのCategory列でカンマ区切りの文字列を簡単に分割しました テーブル? Replace() と Trim() を使用するよりも単純なアプローチを模索し、substr() の制限を回避します。
回答:
SQLite は Common Table と呼ばれる機能を提供します。再帰的なクエリを可能にする式 (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
以上がCTE を使用して SQLite でカンマ区切り文字列を効率的に分割する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。