如何在 postgres sql 中返回日期值?

发布于 2024-10-15 20:22:43 字数 111 浏览 2 评论 0原文

例如:

year
-----
1999
2001
2004
2006

如何返回大于 2000 的年份?

年份以日期格式存储。

For example:

year
-----
1999
2001
2004
2006

How do i return years that are greater than 2000?

Year is stored as date format.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

血之狂魔 2024-10-22 20:22:43

使用 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 子句中的函数来过滤掉年份等,但这样做会使列上的索引变得无用。

Using PostgreSQL specific DATE_PART:

SELECT DATE_PART('year', t.date_column)
  FROM YOUR_TABLE t
 WHERE t.date_column > DATE '2000-01-01'

Using EXTRACT (ANSI):

SELECT EXTRACT(YEAR FROM t.date_column)
  FROM YOUR_TABLE t
 WHERE t.date_column > DATE '2000-01-01'

You could use the function in the WHERE clause to filter out the years/etc, but doing so renders an index on the column useless.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文