Oracle【 查询(当天,月,年)的数据】

Trunc

在oracle中,可利用 trunc函数 查询当天数据,该函数可用于截取时间或者数值,将该函数与 select 语句配合使用可查询时间段数据

  • 查询当天数据
--sysdate是获取系统当前时间函数
--TRUNC函数用于截取时间或者数值,返回指定的值

select * from 表名 where trunc(时间字段名)=trunc(sysdate)
  • 日期处理
--date 为必要参数,是输入的一个date日期值
--fmt 参数可忽略,是日期格式,缺省是表示指定日期的0点,00:00:00

trunc(date,[fmt]
  • SQL 如下
--日
select * from 表名 where trunc(时间字段名)=trunc(sysdate)

--周
select trunc(sysdate, 'd') '本周第一天,周日起' from dual;
select trunc(sysdate, 'day') '本周第一天,周日起' from dual;
select next_day(trunc(sysdate), 'TUESDAY')+12/24 '下个星期中午12点' from dual;
select trunc(least(next_day(sysdate,'saturday'),next_day(sysdate,'sunday')))+(6*60+10)/(24*60) '下个星期早上610分' from dual;

--月
select trunc(sysdate, 'mm') '当月第一天' from dual;
select trunc(sysdate, 'month') '当月第一天' from dual;
select trunc(last_day(sysdate)+1) '下个月第一天的0点' from dual;

--季度
select trunc(sysdate, 'q') '当前季度的第一天' from dual;
select trunc(add_months(sysdate,3), 'Q') -1/24 '当年第一天' from dual;
 
--年
select trunc(sysdate, 'yy') '当年第一天' from dual;
select trunc(sysdate, 'yyyy') '当年第一天' from dual;
select trunc(sysdate, 'year') '当年第一天' from dual;
  • 扩展知识
 
--将小数点右边指定位数后面的截去; 
 
select trunc(123.567,2) from dual;
 
--第二个参数可以为负数,表示将小数点左边指定位数后面的部分截去,即均以0;
 
select trunc(123.567,-2) from dual;
 
--默认截去小数点后面的部分;
 
select trunc(123.567) from dual;

请添加图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

终将站在顶峰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值