PL/SQL 日期类型

在PL/SQL中共有三个日期类型:

  • DATE: 表示日期和时间,精度为秒级别,没有时区信息,是Oracle中最古老和常用的日期类型
  • TIMESTAMP: 和DATE类似,但是精度可以达到纳秒级别,且可以选择包含时区信息
  • INTERVAL:与DATE和TIMESTAMP表示时间上的一点不同,INTERVAL表示时间段,可以选择以年,月,日,秒来表示时间区别
   today_date        DATE := SYSDATE;
   today_timestamp   TIMESTAMP := SYSTIMESTAMP;
   today_timetzone   TIMESTAMP WITH TIME ZONE := SYSTIMESTAMP;
   today_local_timetzone   TIMESTAMP WITH LOCAL TIME ZONE := SYSTIMESTAMP;
   interval_year_to_month         INTERVAL YEAR (4) TO MONTH := '2017-01';
   interval_day_to_second         INTERVAL DAY (2) TO SECOND := '10 10:10:10';

#获取当前的时间
Oracle数据库提供了一些内置函数用于获取当前的时间

函数 时区 返回类型
CURRENT_DATE Session DATE
CURRENT_TIMESTAMP Session TIMESTAMP WITH TIME ZONE
LOCALTIMESTAMP Session TIMESTAMP
SYSDATE Database server DATE
SYSTIMESTAMP Database server TIMESTAMP WITH TIME ZONE

#时间运算
Oracle数据库提供了对时间进行算术运算的不同方式:

  • 将日期与一个数相加或相减, 这个操作数的单位为天
  • 两个日期相减,得到时间区间
  • 通过内建的日期函数进行时间运算
tomorrow DATE := SYSDATE + 1;
one_hour_ago DATE := SYSDATE - 1/24;
duration NUMBER := SYSDATE - one_hour_ago;
发布了106 篇原创文章 · 获赞 15 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/skyupward/article/details/55190775
今日推荐