DECODE函数语法

玛丽莉

我需要回答以下问题,内容为

在此处输入图片说明

我写了下面的代码

SELECT job_id, 
DECODE(job_id,A, 'Ad_Pres',
B,'St_Man',
C,'IT_PROG',
)JOBID, GRADE
FROM emplyee_grade;
ORDER BY job_id

甲骨文告诉我“缺少表达”,我在这里做错了什么?

感谢帮助。

拉利特·库马尔(Lalit Kumar B)

您的查询有两种错误。

  1. 正如其他人已经建议的那样,存在语法错误,请删除最后一个逗号。

  2. 从功能上讲,您按照问题做错了。问题是要解码JOB_ID显示所需GRADEs的图形,如图所示。

因此,正确的查询是:

SQL> WITH DATA AS(
  2  SELECT 'AD_PRES' JOB_ID FROM DUAL UNION ALL
  3  SELECT 'ST_MAN' JOB_ID FROM DUAL UNION ALL
  4  SELECT 'IT_PROG' JOB_ID FROM DUAL UNION ALL
  5  SELECT 'THE REST' JOB_ID FROM DUAL)
  6  SELECT job_id,
  7    DECODE(JOB_ID, 'AD_PRES','A','ST_MAN','B','IT_PROG','C','THE REST','D','DEFAULT') GRADE
  8  FROM DATA
  9  /

JOB_ID   GRADE
-------- -------
AD_PRES  A
ST_MAN   B
IT_PROG  C
THE REST D

SQL>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章