SQL Server Tìm và thay thế đối tượng Ngày đăng: 10:59 21/08/2022

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!