Tôi có một bảng cơ sở dữ liệu MySQL 'ảnh' với một cột 'tên tệp'. Tôi cần thay thế các khoảng trắng trong các giá trị cột tên tệp bằng dấu gạch dưới. Có thể với một/nhiều truy vấn không? Nếu thế thì sao?Truy vấn MySQL để thay thế khoảng trống trong một cột có dấu gạch dưới
17
A
Trả lời
41
Bạn có thể sử dụng chức năng REPLACE
:
REPLACE(str,from_str,to_str)
Trả về chuỗi
str
với tất cả lần xuất hiện của chuỗifrom_str
thay thế bằng chuỗito_str
.REPLACE()
thực hiện phân biệt chữ hoa chữ thường khi tìm kiếmfrom_str
.
Vì vậy, để thay thế tất cả lần xuất hiện của một nhân vật bằng nhau trong tất cả các dòng của một bảng, một cái gì đó như thế này nên làm:
update photos set filename = replace(filename, ' ', '_');
ví dụ, bạn tìm kiếm cho '' trong cột filename
và sử dụng '_' thay thế; và đưa kết quả trở lại vào filename
.
6
update photos set filename = replace(filename,' ', '_');