gpt4 book ai didi

mysql - 如何在 PostgreSQL 数据库中使用 DAY 函数?

转载 作者:行者123 更新时间:2023-11-29 14:24:06 27 4
gpt4 key购买 nike

我对 MySQL 数据库有这个查询:

Article.where('DAY( created_at ) = DAY( ? )', day)

我也尝试在 PostgreSQL 数据库中使用上面的查询,特别是我正在尝试这样的事情:

Article.where("DATE_PART('day', created_at) = DATE_PART('day', ?)", today)

但我收到错误 PGError: ERROR: function date_part(unknown, unknown) is not unique

为什么会出现这个错误?我以为我有文档的语法...

最佳答案

today 似乎是 YYYY-MM-DD 模式的字符串。您可以只提取最右边的两个字符,而不是强制转换为日期然后提取数字。会更快更简单:

Article.where("date_part('day', created_at::date)::int
= right(?, 2)::int", today)

right()需要 PostgreSQL 9.1 或更高版本。在旧版本中,您可以替换:

... = substring(?, 9)

因为你想要字符 9 和 10。


这也应该有效:

Article.where("date_part('day', created_at::date)::int
= date_part('day', ?::date)", today)

请注意,您必须将 '2012-01-16' 转换为 date,而不是 interval'2012-01-16'::interval 是胡说八道。

关于mysql - 如何在 PostgreSQL 数据库中使用 DAY 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8887005/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com