【发布时间】:2011-02-06 06:50:49
【问题描述】:
例如:
year
-----
1999
2001
2004
2006
如何返回大于 2000 的年份?
年份以日期格式存储。
【问题讨论】:
-
你应该阅读这个:functions-datetime
标签: sql postgresql date
例如:
year
-----
1999
2001
2004
2006
如何返回大于 2000 的年份?
年份以日期格式存储。
【问题讨论】:
标签: sql postgresql date
使用 PostgreSQL 特定的DATE_PART:
SELECT DATE_PART('year', t.date_column)
FROM YOUR_TABLE t
WHERE t.date_column > DATE '2000-01-01'
使用 EXTRACT (ANSI):
SELECT EXTRACT(YEAR FROM t.date_column)
FROM YOUR_TABLE t
WHERE t.date_column > DATE '2000-01-01'
您可以使用 WHERE 子句中的函数来过滤掉年份/等,但这样做会使列上的索引无用。
【讨论】:
extract(year from date_column) 上的基于函数的索引将可用。