Tôi có dữ liệu trong đó một số bản ghi chứa hàng trống (= không có khoảng trống, không có NULL). Ví dụ:SQL bypass REPLACE bằng câu lệnh CASE
LOCALE
en-es
en-uk
uk-uk
Khi tôi muốn chọn mà hàng trống, thật dễ dàng với:
SELECT LOCALE
FROM ABC
WHERE LOCALE = ''
Nhưng khi tôi cố gắng để thay thế nó như sau, nó không hoạt động, kết quả vẫn là hàng trống :
SELECT REPLACE(LOCALE,'','WHY') AS 'LOCALE'
FROM ABC
WHERE LOCALE = ''
Nhưng nếu tôi bỏ qua điều này với CASE
tuyên bố, nó hoạt động:
SELECT CASE
WHEN LOCALE LIKE '' THEN 'WHY'
ELSE LOCALE
END AS 'LOCALE'
FROM ABC
WHERE LOCALE = ''
Sự cố ở đây là gì? Tại sao chức năng REPLACE
không hoạt động?
Bạn không thể thay thế chuỗi trống. –
@wewesthemenace Tôi nghĩ rằng OP đã có phần đó, câu hỏi là lý do tại sao nó không thể được thực hiện ... –
thử CHỌN CHỌN CHỌN ('', '', 'TẠI SAO') AS 'LOCALE' là không gian là có sau đó bạn có thể thay thế nó. trống sting bạn không thể –