SQL Server find and replace colum
Các bạn hai phương án xử lý việc này
Tìm và thay thế dữ liệu trong cột
1. Với bảng dữ liệu đơn giản
Một phát ăn ngay ở đây luôn, không cần phải nghĩ. Bạn cứ thể dùng thoải mái
BEGIN TRANSACTION;
UPDATE table_name SET column_name=REPLACE(column_name,'text_to_find','replace_with_this');
COMMIT TRANSACTION;
2. Bảng dữ liệu có nhiều bảng mã, nôm na nó là Unicode
- Thì các bạn sử dụng mấy chỗ này, trước khi replace thì nó sẽ thực hiện convert để tránh lỗi font
begin transaction
update news set Content=CAST(REPLACE(CAST(Content as NVarchar(MAX)),'CŨ','MỚI') AS NText)
commit transaction;
3. Tìm và thay thế từ vị trí
UPDATE TABLE
SET COLUMN= STUFF(COLUMN, thu_tu, so_ki_tu, 'noi_dung_thay_the')
WHERE COLUMN theo_cai_gi_do
Trước khi làm thì cần thử trước cho chắc cú đã
SELECT STUFF(COLUMN, thứ tự, số kí tự, 'nội dung thay thế')
FROM TABLE where COLUMN like cai_gi_do
Các bạn để ý chỗ này tớ dùng STUFF
- Theo từ điển dịch thì STUFF có nghĩa là Nhồi nhét :D
- Còn theo định nghĩa STUFF trong SQL là:
Hàm STUFF trong SQL Server được dùng để chèn một chuỗi vào một chuỗi khác, kết quả trả về là một chuỗi mới sau khi đã hủy bỏ một số ký tự hiện có và thêm vào một chuỗi con khác tại vị trí vừa hủy bỏ.
Trả về là chuỗi mới sau khi đã hủy bỏ một số ký tự hiện có và thêm vào một chuỗi con khác tại vị trí vừa hủy bỏ
(chỗ này copy trên mạng)
Nên dùng STUFF là cũng dễ hiểu thôi!