我有下表:
| 季度开始|
| - -|
| 2016年12月30日|
| 2017年3月31日|
| 2017年6月30日|
| 2017年9月29日|
| 2017年12月二十九日|
| 2018年3月30日|
| 二零一八年六月二十九日|
| 2018年9月28日|
| 2018年12月二十八日|
| 2019年3月二十九日|
| 2019年6月28日|
| 2019年9月27日|
| 2019年12月27日|
| 2020年3月27日|
| 2020年6月26日|
| 2020年9月25日|
| 2021年1月1日|
| 2021年2月4日|
| 2021年2月7日|
| 2021年1月10日|
| 2021年12月31日|
| 2022年4月1日|
| 2022年7月1日|
| 2022年9月30日|
| 2022年12月30日|
| 2023年3月24日|
| 2023年6月30日|
| 2023年9月29日|
| 2023年12月二十九日|
| 2024年3月29日|
| 2024年6月28日|
| 2024年9月27日|
| 2025年3月1日|
| 2025年4月4日|
| 2025年10月3日|
| 2026年2月1日|
| 2026年3月4日|
| 2026年7月3日|
| 2026年2月10日|
| 2027年1月1日|
| 2027年2月4日|
| 2027年2月7日|
| 2027年1月10日|
如何根据此表和当前日期始终选择当前季度?例如,当前季度为“09/12/2022”,如何确保始终选择当前季度?
多谢
更新:我已经运行的一些建议如下
SELECT
quarter_start,
EXTRACT (QUARTER FROM quarter_start)
FROM
odwh_work.sdc_2027
WHERE
EXTRACT (QUARTER FROM quarter_start) = EXTRACT (QUARTER FROM current_date)
ORDER BY 1 DESC
但我还是不回来了2022-12-09
3条答案
按热度按时间ymdaylpp1#
如果行不多,可以
但是要注意,这不能利用日期上的索引,因为季度(1,2,3,4)本身不是日期,而是一个数字。
oipij1gg2#
如果我理解正确的话,您希望找到既与当前季度匹配又与当前年度匹配的日期。可以这样做:
当然,此查询可以查找满足这些条件的多个日期。如果只想查找其中最新的日期,请使用
MAX
:请参阅db<>fiddle
izj3ouym3#
不确定您期望的结果,但可以通过提取来获得季度: