我需要写这样的代码
BETWEEN '2022-02-01' AND '2022-02-28' 但我是相对的,上个月选择了
我试过这个方法
BETWEEN TO_CHAR(current_date - interval '1' month, 'yyyy-mm-01')::date
AND TO_CHAR(TO_CHAR(current_date, 'yyyy-mm-01')::date - interval '1' day, 'yyyy-mm-dd')::date但我认为可能会有更好的解决办法。
发布于 2022-03-09 10:31:30
不要将日期值转换为字符串进行比较。始终使用“实际”日期值。
要获得上个月的开始,您可以使用date_trunc()的组合并减去一个间隔
最后一个月的开始是“这个月”的开始,减去一个月:
date_trunc('month', current_date) - interval '1 month'最后一个月底是这个月的开始减去一天:
date_trunc('month', current_date) - interval '1 day'您没有告诉我们您的列有哪些数据类型需要进行比较,但是通常最好使用>=和<,而不是between -,特别是如果该列是timestamp的话。
where the_column >= date_trunc('month', current_date) - interval '1 month'
and the_column < date_trunc('month', current_date) https://stackoverflow.com/questions/71407828
复制相似问题