繁体   English   中英

从 current_date 中提取年份

[英]Extract year from current_date

我正在使用 postgresql,我有一个问题

如何从 current_date 中提取年份。 我知道如何从给定日期中提取日、月或年(例如:2020-10-29)。 但我需要写一个查询,提供年初和年底之间的某些信息。 有没有办法从我的 current_date 中提取年份,然后将其用作从 current_date 开始提取年份和从 current_date 中提取年份结束之间的 --select 信息。

提前致谢并保持健康!

通常,您不想只比较年份。 相反,您通常会将当前日期截断到年初。

在 Postgres 中:

where mydate >= date_trunc('year', current_date)

如果您还想检查上限:

where mydate >= date_trunc('year', current_date)
  and mydate <  date_trunc('year', current_date) + interval '1 year'

如果由于其他原因,您需要提取当前年份,请使用extract()

extract(year from current_date)

在这个例子中,我模拟了你作为 c_d 发送/接收的日期。 此外,您的数据在本例中名为“test”的表中...

WITH curr_date AS (
    SELECT to_date('2020-05-29', 'yyy-mm-dd') c_d
)
select *
from test
where EXTRACT(YEAR FROM my_date) = (select EXTRACT(YEAR FROM c_d) from curr_date);

这是一个演示:

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM