我想按照此处的要求为 H2 中的 IF 函数创建一个别名,以实现 MySQL 兼容性。Vituels 的答案解释了如何使用CREATE ALIAS执行此操作:
CREATE ALIAS IF NOT EXISTS `IF` AS $$
String ifFunction(boolean condition, String exp1, String exp2){
if(condition) {
return exp1;
} else {
return exp2;
}
}
$$;
Run Code Online (Sandbox Code Playgroud)
如果您将别名与字符串参数一起使用,则此方法有效,但不适用于数字。如果我Integer
在别名定义中使用而不是String
,则相反。使用Object
不适用于这两种类型。
有没有办法编写ifFunction
使其适用于任意数据类型?
对类似问题的回答指出,如果多个方法具有不同数量的参数,则可以将多个方法绑定到别名。这对我不起作用,因为我需要相同数量的参数,但对于多种数据类型。