什麼是MySQL等效的Nz
函數在Microsoft Access中? SQL標準是Nz
嗎?MySQL中MS Access的Nz函數等價於什麼? Nz是SQL標準嗎?
在Access中,Nz
函數允許您在變量爲null時返回值。 Source
爲Nz
函數的語法是:
Nz (variant, [ value_if_null ])
什麼是MySQL等效的Nz
函數在Microsoft Access中? SQL標準是Nz
嗎?MySQL中MS Access的Nz函數等價於什麼? Nz是SQL標準嗎?
在Access中,Nz
函數允許您在變量爲null時返回值。 Source
爲Nz
函數的語法是:
Nz (variant, [ value_if_null ])
COALESCE()
函數執行您所描述的操作。它是標準的SQL,它應該在所有SQL數據庫中受支持。
IFNULL()
函數不是標準SQL。只有一些品牌的數據庫支持這個功能。
你可能想看看IFNULL
或COALESCE
。如果我沒有記錯,IFNULL
適用於MySQL。
也許知道MS Access NZ()函數實際上會做什麼會有幫助(在回答完全無效的建議之前)。 NZ()函數用於測試Null,並用空字符串,Zero或用戶輸入的值(可選)替換Null。
COALESCE甚至沒有接近,實際上它返回一個Null,如果沒有沒有空值'List ???'
IFNULL()函數就是你要找的。
http://dev.mysql.com/doc/refman/5.1/en/control-flow-functions.html
使用COALESCE的想法是,您將最後一個值設爲您的默認非空值:COALESCE(MightBeNull,MightAlsoBeNull,CouldBeNull,'DefaultValue')... – diamondsea 2013-05-10 20:06:47
COALESCE不只是什麼OP是要求一樣,IFNULL:
SELECT Nz(MightBeNullVar, 0) FROM ... (MS Access version)
SELECT COALESCE(MightBeNullVar, 0) FROM ... (MySQL version)
SELECT IFNULL(MightBeNullVar, 0) FROM ... (MySQL version)
的區別是COALESCE可以通過多種變量,搜索和返回第一個非空一個:
SELECT COALESCE(MightBeNullVar, MightAlsoBeNullVar, CouldBeNullVar, 0) FROM ... (MySQL version)
如果沒有任何值具有設置值(爲空),這些函數中的每一個都將返回0(零)。
IFNULL(非常無意義)更快。在干擾IFNULL和COALESCE問題之前,可能還有其他更好的事情需要在查詢中進行優化。如果您有多件事要檢查,請使用COALESCE。如果您只有一個值來檢查,請使用IFNULL。
有看向空安全操作< =>
也許它可以幫助: http://dev.mysql.com/doc/refman/5.5/en/comparison-operators.html#operator_equal-to
IFNULL是MySQL的等價物。 – 2008-10-21 20:20:03