plsql 时间处理

时间类型

plsql提供了两种和时间相关的数据类型:datetime 和 intertime

时间相关的函数、操作
  1. 获取当前时间
select sysdate from dual; --output 2017/2/9 12:20:53 (数据库的lang为ZHS)
select trunc(sysdate) from dual; --2017/2/9
  1. 与字符串之间的格式转换
select tochar(sysdate,'yyyy-mm-dd hh24:mi:ss') from daul; -- 2017-02-09 12:24:38
select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual; -- 2017-02-09 12:24:57
select to_char(sysdate,'yyyy-mm-dd hh:mi:ss ww d') from dual; -- 2017-02-09 12:38:57 06 5 表示当前年的第6周,第5天。 更多的FORMAT可参考官网手册
  1. 与时间相关的函数
select add_months(sysdate,12) from dual; --2018/2/9 12:27:43
select last_day(sysdate) from dual; -- 2017/2/28 12:28:33
select months_between(sysdate, sysdate - 31) from dual; --31
select next_day(sysdate,'星期一')from dual; --2017/2/13 12:36:15 用于计算X时间后第一个星期Y的时间。Y是一个字符串,表示用当前会话语言表示的一周中某一天的全称(如星期一、星期二等),也可以是数值。英语环境为monday tuesday wednesday thursday friday saturday sunday ;
select round(to_number(sysdate - (sysdate-1))*24*60)  from dual; --1440 分钟 默认按照天数来计算
  1. 时间戳
    时间戳是date类型的扩展,比date记录更精确的时间(更多的秒位).Oracle的timestamp的默认时间精度是微秒(p=6),而Oracle能记录到(p=9)也就是纳秒。可用于数据库回滚、对时间要求比较高的地方。
select current_timestamp from dual; -- 09-2月 -17 12.45.22.716437 下午 +08:00 当前会话的
select systimestamp from dual; --09-2月 -17 12.46.58.476939 下午 +08:00  当前系统的
flashback table students to timestamp  to_timestamp ('2018/2/9 12:27:43','mm/dd/yyyy hh24:mi:ss');  
  1. job计划
DBMS_JOB.SUBMIT( 
   job       OUT    BINARY_INTEGER, --job号
   what      IN     VARCHAR2, 
   NEXT_DATE IN     DATE DEFAULTSYSDATE, 
   interval  IN     VARCHAR2 DEFAULT 'NULL',
   no_parse  IN     BOOLEAN DEFAULT FALSE,
   instance  IN     BINARY_INTEGER DEFAULT ANY_INSTANCE,
   force     IN     BOOLEAN DEFAULT FALSE);
参考列表
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值