【问题标题】:Year function in oracle using case statementsoracle中使用case语句的年函数
【发布时间】:2023-02-07 17:25:21
【问题描述】:

我试图在 oracle 中使用以下 case 语句提取年份,但我在 YEAR 函数中收到无效标识符错误。任何人都知道我可能哪里出错了,或者我如何根据以下内容提取一年?

YEAR(CASE when XYX = 'Hired - External'
 AND YZN = 'Hire' THEN  CURRENT_DATE END) AS P_YEAR

【问题讨论】:

  • Oracle 没有 year() 函数...
  • 你需要得到什么?一个数字,一个字符串?什么是 CURRENT_DATE?如果它是列或变量,它的类型是什么?你在哪里找到 YEAR 功能?
  • Year 2018 2017 2016 2015 我在oracle docs上找到了year函数。
  • @Aleksej - 那an Oracle function *8-)
  • 我可以使用 oracle 中的任何其他功能来完成相同的任务吗?

标签: sql oracle oracle12c


【解决方案1】:

Oracle 没有 year 函数;也许你在不同的 DBMS 产品下看到过它。

你需要extract

CASE when XYX = 'Hired - External' AND YZN = 'Hire'
  THEN extract(year from CURRENT_DATE) END AS P_YEAR

这看起来有点奇怪,因为它会在您的会话时区中为您提供今天的年份,而不是与您的数据相关的任何年份。

【讨论】:

  • 谢谢,完全按照我的预期工作。 Year 函数在分析工具 Oracle OBIEE 中可用,我没有意识到它不会在数据库端工作。非常感谢
猜你喜欢
  • 1970-01-01
  • 2011-09-15
  • 1970-01-01
  • 1970-01-01
  • 2015-12-05
  • 2021-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多