Câu trả lời:
Bạn có thể sử dụng replace()
hàm tích hợp để thực hiện thay thế chuỗi trong truy vấn.
Các hàm thao tác chuỗi khác (và hơn thế nữa) được trình bày chi tiết trong danh sách các hàm cốt lõi của SQLite
Những điều sau đây sẽ giúp bạn đi đúng hướng.
UPDATE table SET field = replace( field, 'C:\afolder\', 'C:\anewfolder\' ) WHERE field LIKE 'C:\afolder\%';
Câu trả lời @Andrew đúng một phần. Không cần sử dụng WHERE
mệnh đề ở đây:
C:\afolder
sẽ bị ảnh hưởng, không có lý do gì để kiểm tra nó. Nó quá đáng.'C:\afolder\%'
sẽ chỉ chọn các trường bắt đầu bằng C:\afolder\
duy nhất. Điều gì sẽ xảy ra nếu bạn có đường dẫn này bên trong chuỗi?Vì vậy, truy vấn chính xác chỉ là:
UPDATE table SET field = replace( field, 'C:\afolder\', 'C:\anewfolder\');
Và nếu bạn chỉ muốn thực hiện nó trong một truy vấn mà không có hậu quả lâu dài:
SELECT fieldA, replace(field, 'C:\afolder\', 'C:\anewfolder\'), fieldB FROM table;