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

我怎样才能在一个查询中做到这一点?

PS:我正在使用 Firefox SQLite 管理器(找不到更好且免费的 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 回答