在 SQL 中使用 DATEADD() 过滤过去 3 个月的数据
我试图显示过去三个月的数据,所以已经使用了
SELECT my_date::date AS my_date, my_col
FROM my_table
WHERE my_date >= DATEADD(MONTH, -3, GETDATE())
GROUP BY my_date
ORDER BY my_date DESC
但我收到以下错误
ERROR: column "month" does not exist
LINE 10: WHERE process_date >= DATEADD(MONTH, -3, GETDATE())
^
SQL state: 42703
Character: 651
我不确定为什么它不喜欢 MONTH,我尝试使用 DATEADD() ,如下所示 https://www.w3schools.com/sql/func_sqlserver_dateadd.asp DATEADD(间隔、数字、日期)
。
我应该如何过滤过去 3 个月的数据以及为什么 DATEADD() 似乎不起作用?
I am trying to show data from the last three months so have used
SELECT my_date::date AS my_date, my_col
FROM my_table
WHERE my_date >= DATEADD(MONTH, -3, GETDATE())
GROUP BY my_date
ORDER BY my_date DESC
But I get the following error
ERROR: column "month" does not exist
LINE 10: WHERE process_date >= DATEADD(MONTH, -3, GETDATE())
^
SQL state: 42703
Character: 651
I am not sure why it doesn't like MONTH, I am trying to use DATEADD() as shown here https://www.w3schools.com/sql/func_sqlserver_dateadd.asp DATEADD(interval, number, date)
.
How should I be filtering data for the last 3 months and why does DATEADD() not seem to be working?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
感谢@VvdL 的评论。
PostgreSQL 使用不同的命令。更改为以下并有效。
Thanks to @VvdL for their comment.
PostgreSQL uses a different command. Changed to below and works.