■
-
- テーブル定義
CREATE TABLE KV(key TEXT,val TEXT);
-
- データ設定
INSERT INTO KV(key,val) VALUES
("key1","this,is,a,pen"),
("key2","hello,world"),
("key3","I,am,a,boy");
-
- クエリー
WITH RECURSIVE split(KEY,idx,fld,remain) AS
(SELECT KEY,
instr(val,',') AS idx,
substr(val,1,instr(val,',')-1) AS fld,
substr(val, instr(val,',')+1)||',' AS remain
FROM KV
UNION ALL SELECT KEY,
instr(remain,',') AS idx,
substr(remain,1,instr(remain,',')-1) AS fld,
substr(remain, instr(remain,',')+1) AS remain
FROM split
WHERE remain != '' )
SELECT KEY,
fld
FROM split
ORDER BY KEY ASC;