2016-06-15 16 views
5

Tôi có một bảng có giá trị chuỗi là 'null' mà tôi muốn thay thế bằng giá trị NULL thực tế.Thay thế chuỗi rỗng bằng giá trị rỗng

Tuy nhiên nếu tôi cố gắng làm như sau trong tôi chọn

Select Replace(Mark,'null',NULL) from tblname 

Nó thay thế tất cả các hàng và không chỉ các hàng với chuỗi. Nếu tôi thay đổi nó để

Select Replace(Mark,'null',0) from tblname 

Nó không những gì tôi mong chờ và chỉ thay đổi những người thân với chuỗi 'null'

+0

Luôn luôn ghi rõ (tag) thực tế cơ sở dữ liệu bạn đang sử dụng khi bạn đặt câu hỏi SQL. – sstan

+0

@GordonLinoff Cái gì ?, không, điều đó không đúng, op muốn đối diện 'COALESCE' – Lamak

+1

+1 để hiển thị cho tôi một cái gì đó mà tôi đã bỏ qua trong doco:" REPLACE trả về NULL nếu bất kỳ một đối số nào là NULL. " Nó không có vẻ hợp lý khi một số giá trị của 'Mark' có thể không chứa chuỗi con' 'null''. –

Trả lời

7

Bạn có thể sử dụng NULLIF:

SELECT NULLIF(Mark,'null') 
FROM tblname; 
+0

hoàn hảo cảm ơn bạn – BlueBird

+0

Bạn tìm hiểu điều gì đó mới mỗi ngày S/O! +1 – JiggsJedi

+1

Điểm tốt về việc hiểu sai câu hỏi của tôi. –

Các vấn đề liên quan