我想根据当前日期获得最近2周的时间。
假设今天是星期四,但我想要过去2周的数据,即星期一至星期日。
我能得到从星期一开始到星期日结束的最近两周的确切信息吗?
如何在sql中获取?
head(data)
"2018-07-01"
"2018-07-01"
"2018-07-01"
"2018-07-01"
"2018-07-01"
"2018-07-01" ## date format in my data
答案 0 :(得分:1)
您需要使用date_trunc函数将其截断到一周的开始,然后减去1周的时间间隔:
select date_trunc('week', '2018-07-01'::timestamp) - interval '1 week';
答案 1 :(得分:1)
您可以在下面尝试
select * from yourtable where date>=date_trunc('week', current_date::timestamp) - interval '2 week'
and date<date_trunc('week', current_date::timestamp)
答案 2 :(得分:1)
您可以尝试一下。
SELECT current_date + cast(abs(extract(dow from current_date) - 7) + 1 as int) - interval '2 week' "lastMonday",
current_date + cast(abs(extract(dow from current_date) - 7) as int) - interval '1 week' "lastSunday"
注意
current_date
可以更改您的日期时间。