什么是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