mysql函数是否可以在输入上接受空数据类型?

时间:2014-05-27 09:23:26

标签: mysql function null type-conversion sqldatatypes

就像在这个错误的例子中一样:

CREATE FUNCTION my_func(arg1 INT NULL, arg2 INT NULL)
...

所以例如可能有逻辑对db的情况作出反应,其中有一个整数的列可以是零,正,负或空(所以我不能有一个值来整理null,零这意味着数据不可用,当某些参数未知时,函数应该在输出时返回null,但当行中只有部分数据可用时,会对算法进行略微修改。

或者可能像C ++中那样存在函数重载?所以我可以编写多个函数:

CREATE FUNCTION my_func(arg1 NULL, arg2 INT)
...
CREATE FUNCTION my_func(arg1 INT, arg2 NULL)
...

1 个答案:

答案 0 :(得分:0)

您不需要声明函数参数可以是NULL。正常声明函数参数。在SQL中,您需要特别检查NULL案例,因为您无法将空值与=进行比较(NULL = NULL为false)。

SELECT ...
WHERE ((arg1 IS NULL AND col1 IS NULL) OR (arg1 = col1))
相关问题