ORACLE 日期操作

目录

1.日期与字符串格式互相转换

2. 日期截取函数trunc

3.日期运算


oracle日期

sysdate 当前时间

date'2022-07-29'   等于  to_date('2022-07-29','yyyy-mm-dd') 

获取当前时间: select sysdate from dual;

1.日期与字符串格式互相转换

日期转字符串格式 :to_char(日期,'yyyy-mm-dd')

字符串转日期格式: to_date('字符串','yyyy-mm-dd hh24:mi:ss')

--日期格式化 ~ 转字符串
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

--字符串转日期格式

select to_date('2022-07-29 11:00:00','yyyy-mm-dd hh24:mi:ss') from dual;

--日期格式化 取小时

select to_char(sysdate,'hh24') from dual; 

--年月日格式的日期加上时分秒 转日期格式

select to_date( to_char(date'2022-07-29','yyyy-mm-dd')||' 23:59:59' ,'yyyy-mm-dd hh24:mi:ss')  from  dual;
 

 dual: Oracle提供的最小的,不论进行何种操作(不要删除记录),它都只有一条记录

2. 日期截取函数trunc

trunc用于截取日期或者数值

默认截取到指定日期的0点。

select trunc(sysdate) from dual ;--截取时间到 日  :2022/7/29

select trunc(sysdate)+1/24 from dual ; --当天凌晨1点   2022/7/29 1:00:00

select trunc(sysdate)+1/24/60/60 from dual ; --当前时间加1秒  2022/7/29 0:00:01

select last_day(date'2022-07-29') from dual --7月最后一天


3.日期运算

日期直接数字加减的时候,单位为,因此,如果要做天以下单位的计算时,需换算下。

如:加一秒:1(天)/24(小时)/60(分钟)/60(秒)

select to_date('2022-07-29 11:00:00','yyyy-mm-dd hh24:mi:ss'),to_date('2022-07-29 11:00:00','yyyy-mm-dd hh24:mi:ss')+1/24/60/60 from dual ; 

 

当运算时可能会跨月或者单位为月的时候,使用add_months() 函数

--当前时间加1天   结果:    2022/7/29 9:29:53    2022/7/30 9:29:53

select sysdate,sysdate+1 from dual ;

--当前时间加1小时       2022/7/29 9:31:57  2022/7/29 10:31:57

select sysdate,sysdate+1/24 from dual ;

 --当前时间加1分钟   2022/7/29 9:32:57    2022/7/29 9:33:57

select sysdate,sysdate+1/24/60 from dual ;


 --日期加一个月  结果:2022/8/29
select  Add_Months( to_date('2022-07-29','yyyy-mm-dd'),1) from dual;

--日期 减一个月  结果:2022/6/29

select  Add_Months( to_date('2022-07-29','yyyy-mm-dd'),-1) from dual;

--两个时间相差 多少分钟  结果:28

select  (to_date('2022-07-29 11:00:00','yyyy-mm-dd hh24:mi:ss')  -  to_date('2022-07-29 10:32:00','yyyy-mm-dd hh24:mi:ss') )*24*60 from dual;

--两个时间相差 多少秒  结果:28

select  (to_date('2022-07-29 11:00:00','yyyy-mm-dd hh24:mi:ss')  -  to_date('2022-07-29 10:32:00','yyyy-mm-dd hh24:mi:ss') )*24*60*60 from dual;

--相差多少天  结果:31

select  (date'2022-07-29' - date'2022-06-28'  ) from dual

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值