以下函數定義不會給出任何錯誤,但它也不會按預期工作。誰能幫忙? 據應該返回的文字縮寫之一提供一個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