2012-09-07 50 views
7

Tôi muốn thay thế 0 trong bảng mysql bằng 'NULL'. Tôi đã đọc rằng truy vấn theo cách sau sẽ thay thế 'NULL' bằng 0thay thế 0 bằng null trong mysql

SELECT COALESCE(null_column, 0) AS null_column FROM whatever; 

Nhưng làm cách nào khác?

Trả lời

17

Bạn có thể sử dụng NULLIF, số này sẽ trả lại NULL nếu giá trị trong thông số đầu tiên khớp với giá trị trong tham số thứ hai.

SELECT NULLIF(null_column, 0) AS null_column FROM whatever 
3

Chỉ cần sử dụng truy vấn UPDATE, nhanh hơn: UPDATE table SET value=NULL WHERE value=0.

+0

'''' là ** không ** giống như 'NULL' – LittleBobbyTables

+0

Bạn nói đúng. Đã chỉnh sửa. –

8
update `whatever` set `null_column` = null where null_column = 0; 
+0

Không hoạt động đối với tôi trong trường hợp số thập phân và chế độ nghiêm ngặt –

2

tôi đã sử dụng

userDetails CẬP NHẬT thiết lập danh tiếng = 0 nơi nổi tiếng IS NULL;

nếu thiết bị hoạt động. Vì = không hoạt động đối với tôi.

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