尝试在APEX函数中使用CASE



我试图创建一个函数,该函数将读取列的值,即"H","C"或"N"并返回"热","冷"或"无",但我所写的case语句一直导致此错误:

Error at line 5: PL/SQL: Statement ignored

这是我的代码,我不确定我做错了什么,错误通常是模糊的。

CREATE OR REPLACE FUNCTION refreshment(
code IN string)
RETURN STRING IS
BEGIN
RETURN(
CASE code
WHEN "H" THEN "Hot"
WHEN "C" THEN "Cold"
WHEN "N" THEN "None"
END
);
END;

首先,string不是一个有效的日期类型。你需要的是varchar2。第二,字符串由单引号分隔,而不是双引号。

因此,看起来您想要

CREATE OR REPLACE FUNCTION refreshment( p_code IN VARCHAR2 )
  RETURN VARCHAR2
IS
BEGIN
  RETURN CASE p_code
           WHEN 'H' THEN 'Hot'
           WHEN 'C' THEN 'Cold'
           WHEN 'N' THEN 'None'
         END;
END;

相关内容

  • 没有找到相关文章

最新更新