32

私の SQL の知識は、特に SQLite について非常に限られていますが、これはある種の一般的なクエリになると思います...または、検索と置換のせいではないかもしれません...

もちろん、さまざまなフィールドを持つ SQLite の音楽データベースがありますが、ここで重要なのは "media_item_id" と "content_url" です。

「content_url」の例を次に示します。

file:///c:/users/nazgulled/music/band%20albums/devildriver/%5b2003%5d%20devildriver/08%20-%20what%20does%20it%20take%20(to%20be%20a%20man).mp3

「content_url」がそのパターンに従い、それ(「content_url」)を別のものに置き換えるようなエントリを検索するクエリを探しています。

たとえば、一般的な「content_url」は次のようになります。

file:///c:/users/nazgulled/music/band%20albums/BAND_NAME/ALBUM_NAME/SONG_NAME.mp3

そして、これらすべてのエントリを次のものに置き換えたい:

file:///c:/users/nazgulled/music/bands/studio%20albums/BAND_NAME/ALBUM_NAME/SONG_NAME.mp3

1 つのクエリでそれを行うにはどうすればよいですか?

PS: 私は Firefox SQLite Manager を使用しています (Windows 用のより優れた無料の代替手段が見つかりませんでした)。

4

1 に答える 1

61

あなたはおそらく関数を探していreplaceます。

例えば、

update table_name set 
  content_url = replace(content_url, 'band%20albums', 'bands/studio%20albums')
where
  content_url like '%nazgulled/music/band_20albums/%';

http://sqlite.org/lang_corefunc.htmlのその他のドキュメント

于 2009-06-30T04:22:18.203 に答える