Oracle日期相关

 当查询的表字段类型为DATE时,查询跟日期相关的数据:

select trunc(sysdate),to_date((to_char(sysdate,'yyyy-mm-dd')||'23:59:59'),'YYYY-MM-DD:HH24:MI:SS') from dual;-----当天
select TRUNC(NEXT_DAY(SYSDATE-8,1)+1),to_date((to_char(TRUNC(NEXT_DAY(SYSDATE-8,1)+7),'yyyy-mm-dd')||'23:59:59'),'YYYY-MM-DD:HH24:MI:SS') from dual t   ---本周
select trunc(sysdate,'mm'),add_months(trunc(sysdate,'mm'),1)-1 from dual t;-----本月
SELECT to_char(TRUNC(SYSDATE, 'Q'), 'YYYY-MM-DD'),to_char(add_months(TRUNC(SYSDATE, 'Q'), +3)-1, 'YYYY-MM-DD')  FROM dual;---本季度
select trunc(sysdate,'YYYY'),add_months(trunc(sysdate,'YYYY'),12)-1  from dual t; -----本年

以下是参考:

Oracle 查询今日、昨日、本周、本月和本季度的所有记录

1.字段类型为date
今日
select * from 表名 where to_char(字段名,'dd')=to_char(sysdate,'dd')
昨日
select * from  表名 where to_char(字段名,'dd')= to_char(sysdate-1,'dd')
本周 
 select * from 表名 where to_char(字段名,'iw')=to_char(sysdate,'iw') 
本月 
 select * from 表名 where to_char(字段名,'mm')=to_char(sysdate,'mm') 
本季度 
 select * from 表名 where to_char(字段名,'q')=to_char(sysdate,'q')
 
2.  字段类型为varchar2,格式要与格式化的样式匹配
今日 
select * from 表名 where to_char(to_date(字段名,'yyyy-mm-dd hh24:mi:ss'),'dd')=to_char(sysdate,'dd')
昨日
select * from 表名 where to_char(to_date(字段名,'yyyy-mm-dd hh24:mi:ss'),'dd')=to_char(sysdate-1,'dd') 
本周 
select * from 表名 where to_char(to_date(字段名,'yyyy-mm-dd hh24:mi:ss'),'iw')=to_char(sysdate,'iw') 
本月 
select * from 表名 where to_char(to_date(字段名,'yyyy-mm-dd hh24:mi:ss'),'mm')=to_char(sysdate,'mm') 
本季度 
select * from 表名 where to_char(to_date(字段名,'yyyy-mm-dd hh24:mi:ss'),'q')=to_char(sysdate,'q')
​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值