SQLite-заменить часть строки
можно ли использовать SQL
на SQLite
стол для замены части строки?
например, у меня есть таблица, где одно из полей содержит путь к файлу. Можно ли заменить части строки так, что, например
c:afolderafilename.bmp
становится
c:anewfolderafilename.bmp
?
3 ответа:
Вы можете использовать встроенный в
replace()
функция для выполнения замены строки в запросе.другие функции управления строками (и более) подробно описаны в список основных функций SQLite
следующее должно указывать вам в правильном направлении.
UPDATE table SET field = replace( field, 'C:\afolder\', 'C:\anewfolder\' ) WHERE field LIKE 'C:\afolder\%';
@Andrew ответ частично правильный. Не нужно использовать
WHERE
статья здесь:
- только поля, содержащие
C:\afolder
будут затронуты в любом случае, нет причин, чтобы проверить его. Это чрезмерно.'C:\afolder\%'
будет выбирать только поля, начиная сC:\afolder\
только. Что делать, если у вас есть этот путь внутри строки?поэтому правильный запрос просто:
UPDATE table SET field = replace( field, 'C:\afolder\', 'C:\anewfolder\');