我正在尝试使用oracle中的以下case语句提取年份,但是在YEAR函数上收到无效的标识符错误。有人知道我可能会出问题的地方,或者如何根据以下内容提取一年?
YEAR(CASE when XYX = 'Hired - External'
AND YZN = 'Hire' THEN CURRENT_DATE END) AS P_YEAR
答案 0 :(得分:3)
Oracle没有year
函数;也许您在其他DBMS产品下看到了它。
您需要extract
:
CASE when XYX = 'Hired - External' AND YZN = 'Hire'
THEN extract(year from CURRENT_DATE) END AS P_YEAR
这似乎有些奇怪,因为它将为您提供今天的年份(在您的会话时区中),而不是与数据相关的任何年份。