0
我正在嘗試編寫一個函數來檢查表達式是否爲true,函數總共有三個參數。第一個參數是表達式,例如1 < 5這是正確的。postgresql - 無法確定多態類型,因爲輸入的類型爲「未知」
第二個和第三個參數讓函數知道該怎麼回報,如果這種說法是正確的:
CREATE OR REPLACE FUNCTION iff(expression boolean ,true_type anyelement , false_type anyelement)
RETURNS anyelement AS
$$
DECLARE
BEGIN
IF expression = TRUE THEN
RETURN true_type;
ELSEIF expression = FALSE THEN
RETURN false_type;
END IF;
END;
$$
LANGUAGE plpgsql;
該功能適用於整數值,布爾而不是字符串文字。
舉例: 本聲明的作品,並返回2.
SELECT IFF(false,1,2);
例2: 這種說法不工作,並提供了以下錯誤信息: 無法確定多態類型,因爲輸入類型「未知」
SELECT IFF(false,'','');
謝謝。我現在知道了。 – DarrenW