以下函数定义不会给出任何错误,但它也不会按预期工作。谁能帮忙? 据应该返回的文字缩写之一提供一个int时:如何在SQL函数定义中包含CASE语句
CREATE FUNCTION foo(a int)
RETURNS character
LANGUAGE SQL
AS $$
SELECT CASE C.INSURANCETYPE
WHEN 0 THEN 'MB' --MEDICARE
WHEN 1 THEN 'MC' --MEDICAID
WHEN 2 THEN 'OF' --OTHER FED
WHEN 3 THEN 'CH' --CHAMPVA
WHEN 4 THEN 'CI' --GROUP
WHEN 5 THEN 'OF' --OTHER FED
WHEN 6 THEN 'CI' --OTHER GROUP
END
FROM C
$$;
SELECT foo(0);
...没有返回
是什么使得它*不*“按预期工作”?当查询在函数之外运行时会发生什么?我期望同样的结果..并且可能有一个ELSE缺失。 – user2864740 2015-02-24 21:21:57
尝试为select语句设置一个变量并做一个返回(变量名) – logixologist 2015-02-24 21:42:33