SQLiteで文字列置換

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で文字列置換 « 来栖川電算 [...]

コメントをどうぞ


ホーム | RSS | 採用情報 | 会社情報