1.获取昨天一整天的数据
SELECT 字段名 FROM 表名 WHERE creat_time(时间字段)
BETWEEN to_date(to_char(sysdate, 'yyyy-mm-dd') , 'yyyy/MM/dd HH24:mi:ss') - 1
AND to_date(to_char(sysdate, 'yyyy-mm-dd') , 'yyyy/MM/dd HH24:mi:ss') + (其他条件字段)
说明
- to_char() Oracle的单行函数
- sysdate代表当前系统时间
- to_char(sysdate, ‘yyyy-mm-dd’) 代表把当前系统时间转换为yyyy-mm-dd格式的字符串,假如当前时间是2020/9/02 16:52:58 转换为之后变成2020-09-02
- to_date() Oracle的单行函数
- to_date(to_char(sysdate, ‘yyyy-mm-dd’) , ‘yyyy/MM/dd HH24:mi:ss’),这句函数代表将一个字符串按照一定的格式转换为时间格式,根据上面的结果化简之后是to_date(2020-09-02 , ‘yyyy/MM/dd HH24:mi:ss’),由于我们小时之后的位数都没有写,name转化会变成2020/09/02 00:00:00 ,会自动变为当天的0点
- Oracle中时间是可以加减的,并且是按照天数为单位,所以to_date(to_char(sysdate, ‘yyyy-mm-dd’) , ‘yyyy/MM/dd HH24:mi:ss’) - 1 这个时间就变成了2020/09/01 00:00:00 ,就是昨天的零点开始,这样就拿到了昨天0点开始的时间了
- BETWEEN to_date(to_char(sysdate, ‘yyyy-mm-dd’) , ‘yyyy/MM/dd HH24:mi:ss’) - 1 AND to_date(to_char(sysdate, ‘yyyy-mm-dd’) , ‘yyyy/MM/dd HH24:mi:ss’) 连起来就是从昨天零点开始,到今天零点
2.获取昨天0点开始到今天系统时间的数据
SELECT 字段名 FROM 表名 WHERE creat_time(时间字段)
BETWEEN to_date(to_char(sysdate, 'yyyy-mm-dd') , 'yyyy/MM/dd HH24:mi:ss') - 1
AND sysdate + (其他条件字段)
说明
根据上面的分析这句很清楚了,就是把截至时间换成当前系统时间就行了