如果是月份的话,oracle中可以使用add_months()函数来实现,如:
|
1 |
ADD_MONTHS(sysdate,-1) <= CREATE_DATE |
表示创建日期 CREATE_DATE 大于等于当前日期向前推1个月,即近一个月的数据。
|
1 2 3 4 5 6 |
SELECT * FROM 表名 WHERE 时间列名 >= TO_DATE(TO_CHAR(SYSDATE - 7, 'yyyy-MM-dd hh24:mi:ss'), 'yyyy-MM-dd hh24:mi:ss') |
若查询其他天数,则把7改成相应数值即可.
Oracle数据库日期范围查询有两种方式:to_char方式和to_date方式,我们通过一个实例来介绍这一过程。
我们假设要查询2022-05-02到2022-05-30之间的数据,实现方式如下:
|
1 2 3 4 5 6 7 |
SELECT * FROM tablename WHERE TIME >= TO_DATE ('2022-05-02', 'yyyy-mm-dd') AND TIME <= TO_DATE ('2022-05-30', 'yyyy-mm-dd') |
运行的结果是:可以显示05-02的数据,但是不能显示05-30的数据。
|
1 2 3 4 5 6 7 |
SELECT * FROM tablename WHERE TO_CHAR (TIME, 'yyyy-mm-dd') >= '2022-05-02' AND TO_CHAR (TIME, 'yyyy-mm-dd') <= '2022-05-30' |