就像在这个错误的例子中一样:
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)
...
答案 0 :(得分:0)
您不需要声明函数参数可以是NULL
。正常声明函数参数。在SQL中,您需要特别检查NULL
案例,因为您无法将空值与=
进行比较(NULL = NULL
为false)。
SELECT ...
WHERE ((arg1 IS NULL AND col1 IS NULL) OR (arg1 = col1))