SQL As Understood By SQLiteによると、SQLiteのクエリで文字列置換をするには、replace関数を使えばよい。
“irc/logs/XXXX” を “logs/irc/XXXX” に置換しようとすると
sqlite> select sqlite_version(*) ; 3.3.6 sqlite> select replace(name,'irc/logs/','logs/irc/') from wiki where name like 'irc/logs%'; SQL error: no such function: replace
SQLite3.3.6ではサポートしてないのかな?orz
仕方がないのでsubstrと文字列結合(||)で対処。
select 'logs/irc/' || substr(name,12,1000) from wiki where name like 'irc/logs%'; logs/irc/.02.14
お。うまくいった。
全部updateする。
update wiki set name = 'logs/irc/' || substr(name,12,1000) where name like 'irc/logs%';
おしまい。
1件のコメント
怒涛のめもめもリンク集 | SQLiteで正規表現 · 2009-10-27 15:40
[…] SQLiteで文字列置換 « 来栖川電算 […]
現在コメントは受け付けていません。