Tôi có một tuyên bố chọn nơi tôi muốn thực hiện chọn có điều kiện như thế nàymysql IFNULL ELSE
IFNULL(field_a,field_a,feild_b)
để nó kiểm tra lĩnh vực a nếu a là null thì chọn sẽ là lĩnh vực b
là khả thi ?
Tôi có một tuyên bố chọn nơi tôi muốn thực hiện chọn có điều kiện như thế nàymysql IFNULL ELSE
IFNULL(field_a,field_a,feild_b)
để nó kiểm tra lĩnh vực a nếu a là null thì chọn sẽ là lĩnh vực b
là khả thi ?
Sử dụng COALESCE:
SELECT COALESCE(field_a, field_b)
liên hiệp là một chức năng tiêu chuẩn ANSI mà trả về giá trị null đầu tiên từ danh sách các cột quy định, chế biến các cột từ trái sang phải. Vì vậy, trong ví dụ, nếu field_a
là null, field_b
giá trị sẽ được hiển thị. Tuy nhiên, hàm này sẽ trả về NULL nếu không có giá trị không null từ các cột được chỉ định.
Nó hỗ trợ trên MySQL (Tôi đã sử dụng nó trên 4.1), SQL Server (kể từ V2000), Oracle 9i + ...
Có, nhưng nó chỉ là hai tham số:
IFNULL(field_a,field_b)
Nếu field_a
không phải là null, nó sẽ được trả lại. Nếu không, field_b
sẽ được trả lại.
tham khảo: IFNULL
và một cách khác để da mèo (linh hoạt cho không chỉ so sánh null) ...
select if(field_a is not null, field_a, field_b) from...
Tôi ủng hộ việc sử dụng các liên hiệp là tốt. –
Giải thích rõ ràng về cách hoạt động của chức năng ... Cảm ơn! Đã cập nhật liên kết bị hỏng. – Andrew