2

test.db最初の列にetcを含むデータベースがあります123456;abcdef;ghijk。データを独自の列に分割することはできますか?

123456長さを変更することはありません。

abcdef長さをghijk変更し、何も含まない場合もあります。

以下の文字列を試しましたが、との長さに応じて、または;のいずれかに表示されます。t2t3abcdefghijk

select substr(column,1,6) AS "t1",
       substr(column,8,6) AS "t2",
       substr(column,15,10) AS "t3" test.db

;セパレータが問題を引き起こしていますか?

または、データベースを.sqlに出力し、txtをフォーマットしてから、新しいデータベースにインポートできますか?

4

2 に答える 2

1

このように文字列を分割できる組み込みの SQLite 関数はありません。

SQLite C API または APSW のようなラッパーを使用している場合は、独自の関数 ( CAPSW ) を作成できます。

1 回限りの変換しか行いたくない場合は、テキスト ファイルを介したエクスポート/インポートが最も簡単なソリューションです。

于 2012-10-05T11:43:11.093 に答える