oracle数据库 date时间类型查询昨天、前7天、前30天、前1年的数据,sql语句怎么写

有哪位大大帮帮忙在线等,急在此跪谢
2024-10-30 06:35:40
推荐回答(4个)
回答(1):

1、打开plsql,连接上oracle数据库,使用sql语句创建一张测试表。

2、使用sql语句插入3行测试数据到上一步创建的测试表中,日期栏位使用系统当前时间插入。

3、执行完sql之后,记得点击提交按钮,提交更改到数据库保存,否则,数据不会真正存储到数据库中。

4、提交完之后,查询刚刚插入的数据,select * from TestDate。

5、修改第一行Updatedate栏位的值,此时直接拼接日期格式的字符串更新,oracle是无法执行的。

6、修改第一行Updatedate栏位的值,将字符串的日期转换为日期类型,之后再修改,就可以更新了。

7、修改第一行Updatedate栏位的值,使用当前日期减去2天,直接减2即可。

回答(2):

1、打开plsql,连接上oracle数据库,使用sql语句创建一张测试表。

2、使用sql语句插入3行测试数据到上一步创建的测试表中,日期栏位使用系统当前时间插入。

3、执行完sql之后,记得点击提交按钮,提交更改到数据库保存,否则,数据不会真正存储到数据库中。

4、提交完之后,查询刚刚插入的数据,select
*
from
TestDate。

5、修改第一行Updatedate栏位的值,此时直接拼接日期格式的字符串更新,oracle是无法执行的。

6、修改第一行Updatedate栏位的值,将字符串的日期转换为日期类型,之后再修改,就可以更新了。

7、修改第一行Updatedate栏位的值,使用当前日期减去2天,直接减2即可。

回答(3):

select * from 表
where 日期=to_date(to_char(sysdate-1,'yyyy/mm/dd'),'yyyy/mm/dd');
select * from 表
where 日期=to_date(to_char(sysdate-7,'yyyy/mm/dd'),'yyyy/mm/dd');
select * from 表
where 日期=to_date(to_char(sysdate-30,'yyyy/mm/dd'),'yyyy/mm/dd');
select * from 表
where 日期=to_date(to_char(add_months(sysdate,-12),'yyyy/mm/dd'),'yyyy/mm/dd');

回答(4):

SELECT * FROM TABLE WHERE LOGTIME = TRUNC(SYSDATE -1,'dd')  --前一天

SELECT * FROM TABLE WHERE LOGTIME = TRUNC(SYSDATE -7,'dd')  --前7天、

...以此类推

参考链接网页链接