如果給定列有任何數據,我想返回1或0(或者true或false,或者true或null,或者其他最簡單的)。無論此字段是否有數據,其他列仍會返回。低於正確的方式?由於如果mysql列有數據,則返回1或0
SELECT varchar_field IS NOT NULL, some_other_fields
如果給定列有任何數據,我想返回1或0(或者true或false,或者true或null,或者其他最簡單的)。無論此字段是否有數據,其他列仍會返回。低於正確的方式?由於如果mysql列有數據,則返回1或0
SELECT varchar_field IS NOT NULL, some_other_fields
嘗試
SELECT ISNULL(varchar_field), some_other_fields
如果你想0時varchar_field
心不是null
SELECT NOT ISNULL(varchar_field), some_other_fields
如果你想1時varchar_field
心不是null
您可以使用case
聲明
CASE WHEN varchar_field is null
THEN 1
ELSE 0
END
IFNULL()似乎只接受兩個參數。 http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html#function_ifnull – user1032531
是的,我的錯誤。你可以使用case語句來實現你想要的。 – Trinity
感謝您的更新。同意這種情況將起作用,但Obl似乎有點可讀性。 – user1032531
這是否比我最初的建議或Neo的更快? – user1032531
我不知道它是否更快,但在我看來,它更具可讀性,因此,您可以根據需要得到1或0 –
實際上,如果列中有數據,則返回0。 – user1032531