获取上周一到周末日期的查询 SQL 语句,可以采用以下两种方法实现:
方法一:使用 to_char 函数与日期函数来获取上周一和周日的日期,然后使用 BETWEEN 运算符来筛选上周一到周日的数据。
SELECT *
FROM your_table
WHERE your_date_column BETWEEN to_date(to_char(sysdate-7,'YYYYMMDD'),'YYYYMMDD')
AND to_date(to_char(sysdate-1,'YYYYMMDD'),'YYYYMMDD');
解释:
sysdate-7
表示当前日期减去七天,即上周的今天;to_char(sysdate-7,'YYYYMMDD')
将上周的今天转换为字符串格式,格式为年月日(例如:20210712);to_date(to_char(sysdate-7,'YYYYMMDD'),'YYYYMMDD')
将上周一的日期字符串转换为日期格式;to_date(to_char(sysdate-1,'YYYYMMDD'),'YYYYMMDD')
将上周日的日期字符串转换为日期格式;- 使用 BETWEEN 运算符,查询
your_table
表中your_date_column
列在上周一到周日之间的数据;
例如:如果今天是2021年7月19日,则上周一到周日的日期范围就是2021年7月12日至2021年7月18日。
方法二:使用 TRUNC 函数和查询表示星期几的函数来获取上周一和周日的日期,然后使用 BETWEEN 运算符来筛选上周一到周日的数据。
SELECT *
FROM your_table
WHERE your_date_column BETWEEN trunc(sysdate,'IW')-7 and trunc(sysdate,'IW')-1;
解释:
trunc(sysdate,'IW')
表示获取当前日期所在的当周的周一日期;trunc(sysdate,'IW')-7
表示获取上周一的日期;trunc(sysdate,'IW')-1
表示获取上周日的日期;- 使用 BETWEEN 运算符,查询
your_table
表中your_date_column
列在上周一到周日之间的数据;
例如:如果今天是2021年7月19日,则上周一到周日的日期范围就是2021年7月12日至2021年7月18日。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Oracle 获取上周一到周末日期的查询sql语句 - Python技术站