Không ít lần chúng ta sẽ gặp những dữ liệu có chứa những ký tự đặc biệt, không hiển thị khi truy vấn bằng sql và nhìn bang mắt thường.
Cụ thể, tôi từng gặp trường hợp khi copy dữ liệu từ EXCEL để insert vào cơ sở dữ liệu oracle, sử dụng công cụ PL/SQL Developer, dữ liệu sau khi insert vào bảng thường kèm theo một số ký tự đặc biệt không nhìn thấy được, chỉ khi view dạng html hoặc mã code mới thấy nó hiển thị.
Để loại bỏ những ký tự dạng này, chúng ta làm theo các bước sau:
- Bước 1: SELECT để tìm ký tự đặc biệt trong dữ liệu
SELECT column_names,...
FROM table_name
WHERE CONVERT(column_name,'US7ASCII') like '%?%'
- Bước 2: thực hiện update sử dụng hàm REPLACE để loại bỏ ký tự đặc biệt
UPDATE table_name
SET column_name = replace(convert(column_name,'US7ASCII'),'?','')
- Bước 3: Commit kết quả thực hiện