2009-06-30 11 views
21

Mi conocimiento de SQL es muy limitado, especialmente sobre SQLite, aunque creo que esto será un tipo de consulta genérica ... O tal vez no debido a la búsqueda y reemplazo ...¿Cómo actualizar una base de datos SQLite con una consulta de búsqueda y reemplazo?

Tengo esta base de datos de música en SQLite que tiene varios campos, por supuesto, pero los más importantes aquí son "media_item_id" y "content_url".

He aquí un ejemplo de un "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 

estoy buscando una consulta que va a buscar las entradas como las que, en las "content_url" sigue ese patrón y reemplazarlo (el "content_url") con algo más.

Por ejemplo, un "content_url" genérico puede ser la siguiente:

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

Y quiero reemplazar todas estas entradas con:

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

¿Cómo puedo hacerlo en una consulta?

P.S: Estoy usando Firefox SQLite Manager (no pude encontrar una alternativa mejor y gratuita para Windows).

Respuesta

42

Probablemente esté buscando la función replace.

Por ejemplo,

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

más documentación en http://sqlite.org/lang_corefunc.html

+0

me salvó la noche! –

Cuestiones relacionadas