我认为 oracle sql 中有一个函数 extract(quarter from date) 可以获取给定日期的季度。但是 Oracle SQL 19c 文档 here不再显示 quarter
的存在。
我什至尝试运行代码 -
select extract(quarter from to_date('15/09/2021','DD/MM/YYYY')) as Q from dual;
预期的结果是——
+---+
| Q|
+---+
| 3|
+---+
相反,它给出了一个错误
ORA-00907 missing right parenthesis
尽管当 quarter
被替换为 month
或 year
时它运行良好。当前在 Oracle SQL 19c 中获取给定日期的 quarter
的方法是什么?
最佳答案
我将使用 sysdate
进行说明 - 您可以将其替换为 date
数据类型的任何表达式。
查询返回一个字符串(单个字符,1到4之间的数字);如果您需要一个 number
值,请将其包装在 to_number()
中。
select to_char(sysdate, 'Q') as qtr from dual;
QTR
---
3
https://stackoverflow.com/questions/69197659/