Postgresql 如何从日期字段中获取年份
如何从日期字段中获取年份,如果我有一个日期字段Postgresql 如何从日期字段中获取年份,postgresql,Postgresql,如何从日期字段中获取年份,如果我有一个日期字段product\u date,它每年有1000个条目,我希望记录年份。product_date=2013/01/01,就像我想要搜索2013一样 SELECT EXTRACT(YEAR FROM product_date ) FROM tbl_product; 根据年份对表格进行排序 with cte as( SELECT EXTRACT(YEAR FROM product_date) as myYear FROM tbl_product or
product\u date
,它每年有1000个条目,我希望记录年份。product_date=2013/01/01,就像我想要搜索2013一样
SELECT EXTRACT(YEAR FROM product_date ) FROM tbl_product;
根据年份对表格进行排序
with cte as(
SELECT EXTRACT(YEAR FROM product_date) as myYear FROM tbl_product order by myYear
)
select product_date,* from tbl_product where extract(year from product_date) in (select myYear
from cte)
根据年份对表格进行排序
with cte as(
SELECT EXTRACT(YEAR FROM product_date) as myYear FROM tbl_product order by myYear
)
select product_date,* from tbl_product where extract(year from product_date) in (select myYear
from cte)
我不确定“年份记录”应该是什么意思,因为您未能提供一些示例数据,但要从日期列中获取年份,可以使用extract()
函数:
select *
from some_table
where extract(year from product_date) = 2013;
有关提取功能的详细信息,请参阅手册:但是,上述内容不会使用
产品日期
列上的索引。因此,如果性能非常重要,您有两个选择:
- 在
extract上创建索引(从产品日期算起的年份)
- 使用between子句:
select * from some_table where product_date between date '2013-01-01' and date '2013-12-31';
extract()
函数:
select *
from some_table
where extract(year from product_date) = 2013;
有关提取功能的详细信息,请参阅手册:但是,上述内容不会使用
产品日期
列上的索引。因此,如果性能非常重要,您有两个选择:
- 在
extract上创建索引(从产品日期算起的年份)
- 使用between子句:
select * from some_table where product_date between date '2013-01-01' and date '2013-12-31';