2009-06-30 2 views
21

La mia conoscenza di SQL è molto limitata, specialmente su SQLite, anche se credo che questo sarà una sorta di query generica ... O forse non a causa della ricerca e sostituzione ...Come aggiornare un database SQLite con una query di ricerca e sostituzione?

Ho questo database musicale in SQLite che ha vari campi ovviamente ma quelli importanti qui "media_item_id" e "content_url".

Ecco un esempio di "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 

Sto cercando una query che la ricerca di voci come quelle, in cui "content_url" segue quel modello e sostituirlo (il "content_url") con qualcos'altro.

Per esempio, un "content_url" generico può essere questo:

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

E voglio sostituire tutte queste voci con:

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

Come posso farlo in una query?

P.S: sto utilizzando Firefox SQLite Manager (non è riuscito a trovare un'alternativa migliore e gratuita per Windows).

risposta

42

Probabilmente stai cercando la funzione replace.

Per esempio,

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

Altro documentazione a http://sqlite.org/lang_corefunc.html

+0

salvato la notte! –