oracle 查询条件日期怎么包括两边的日期
时间: 2024-09-25 21:16:18 浏览: 43
Oracle查询条件中包含日期范围通常使用BETWEEN关键字,它允许你指定一个开始日期和结束日期,返回在这两个日期之间的所有记录。如果你想包含日期边界,也就是查询某一天及其前一天或后一天的数据,可以这样编写:
1. 包含当天:
```sql
SELECT * FROM your_table
WHERE date_column BETWEEN trunc(sysdate) AND add_days(trunc(sysdate), 1);
```
这里`sysdate`获取当前系统日期,`trunc()`函数去掉时间部分只保留日期,`add_days()`增加一天。
2. 包含前一工作日(假设周末不需要考虑):
```sql
SELECT * FROM your_table
WHERE date_column BETWEEN add_months(trunc(sysdate), -1) AND last_day(add_months(trunc(sysdate), 0));
```
`last_day()`函数返回给定月份的最后一天。
3. 包含后一工作日:
```sql
SELECT * FROM your_table
WHERE date_column BETWEEN trunc(sysdate) AND next_day(last_day(trunc(sysdate)), 'Monday');
```
`next_day()`函数返回指定日期之后的第一个指定星期几。
阅读全文