这似乎很简单,但我尝试了几个小时来弄清楚,但我做不到..
我希望创建一个像合并一样工作的 db2 函数。
不同之处在于它查找第一个参数的值,如果它是一个空字符串,即 ''。然后它将使用第二个参数。
这就是我所做的查询
CREATE FUNCTION COALESCEEMPTY (X1 XML, X2 XML)
RETURNS XML
LANGUAGE SQL
CONTAINS SQL
NO EXTERNAL ACTION
DETERMINISTIC
CASE X1
WHEN '' THEN RETURN X2;
ELSE RETURN X1;
END CASE;
这是我从 db2 得到的错误代码。
16:09:47 [CREATE - 0 row(s), 0.000 secs] [Error Code: -104, SQL State: 42601] DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=X1
WHEN '' THEN RETURN X2;ERMINISTIC
CASE;<space>, DRIVER=4.13.127
16:09:47 [ELSE - 0 row(s), 0.000 secs] [Error Code: -104, SQL State: 42601] DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=RETURN;ELSE ;JOIN <joined_table>, DRIVER=4.13.127
16:09:47 [END - 0 row(s), 0.000 secs] [Error Code: -104, SQL State: 42601] DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=END-OF-STATEMENT;END CASE;JOIN <joined_table>, DRIVER=4.13.127
谢谢你的帮助。