select sysdate from dual;
alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
--截取至今天的 0 点
select sysdate,trunc(sysdate,'dd') from dual
--截取至本周第一天的 0 点(国外是以周日为第一天):
select sysdate,trunc(sysdate,'d') from dual;
--截取至本月第一天的 0 点
select sysdate,trunc(sysdate,'mm') from dual;
--截取至本年第一天的 0 点
select sysdate,trunc(sysdate,'y') from dual;
--截取上一个 整点
select sysdate,trunc(sysdate,'hh') from dual;
--截取上一分钟(TRUNC()函数没有秒的精确):
select sysdate,trunc(sysdate,'mi') from dual;
--截取上月第一天的 0 点:
select trunc(add_months(sysdate,-1),'mm') from dual;
oracle add_months(time,months)函数可以得到某一时间之前或之后n个月的时间
如 select add_months(sysdate,-6) from dual;
该查询的结果是当前时间半年前的时间
select add_months(sysdate,6) from dual;
该查询的结果是当前时间半年后的时间
trunc 截取时间
最新推荐文章于 2024-08-06 13:44:36 发布