PLSQL 日期时间类型函数及运算

    技术2022-05-11  68

    内部存储格式:世纪、年、月、日、小时、分钟、秒

    默认格式是:DD-MON-RR。

    SYSDATE 返回当前的系统时间。

    SELECT SYSDATE FROM DUAL;

    对日期的数学运算

    SELECT (SYSDATE-HIRE_DATE)/7 FROM TABLENAME WHERE ROWNUM;  数字列

    ADD_MONTHS(date,x)函数,返回加上X月后的日期DATE的值。X可以是任意整数。如果结果的月份中所包含的   日分量少于DATE的月份的日分量,则返回结果月份的最后一天。如果不小于,则    结果与DATE的日分量相同。时间分量也相同。

    CURRENT_DATE 以DATE类型返回会话时区当前的日期。这个函数同SYSDATE相似,除了SYSDATE不管当               会话时区。

    CURRENT_TIMESTAMP[(precision)] 以TIMESTAMP WITH TIMEZONE 类型返回会话时区当前的日期。如果    指定precision,它指返回秒数的精度,缺省为6。

    DBTIMEZONE 返回数据库的时区。   LAST_DAY(日期) 指定日期所在月份的最后一天的日期,这个函数可用来确定本月还有多少天。

    LOCALTIMESTAMP[(precision)] 以TIMESTAMP类型返回会话时区的当前日期。如果指定precision,它指    返回秒数的精度,缺省为6 。

    MONTHS_BETWEEN(离当前比较近的日期date1,以前的日期)  两个日期之间相差的月数(以日作为最小单位来计算的)。返回是相差的月数。如果date1和date2的日分量相同,或者这两个日期都分别是所在月的最后一天,那么返回结果是个整数。否则,返回结果包含一个分数,以一个月31天计算。

    NEW_TIME(d,zone1,zone2)函数,当时区zone1中的日期和时间是D的时候,返回时区zone2中的日期和时间。              返回类型为DATE。zone1和zone2是字符字符串,另外的时区可在ORACLE9I中              通过查询V$TIMEZONE_NAMES得到。  

    NEXT_DAY (日期,星期几) 指定日期后将要遇到的后七天的某一天的日期。

    ROUND(日期,‘MONTH/YEAR’) 四舍五入得到新的日期。 保留位置是月和年

    SESSIONTIMEZONE 返回当前会话的时区。返回类型是一个时区偏移或时区片名的字符字符串。如果指   定格式,则与 ALTER SESSION 语句中的格式相同。

    SYS_EXTRACT_UTC(datetime) 从提供的DATETIME中以UTC(Coordinated Universal Time)返回时间。    DATETIME必须包含一个时区。

    SYSTIMESTAMP 以TIMESTAMP WITH TIMEZONE 返回当前的日期和时间。当在分布式SQL语句中使用的时  候,返回本地数据库的日期和时间。

    TRUNC(日期,‘MONTH/YEAR’) 截取

    TZ_OFFSET(timezone) 以字符字符串返回提供的timezone和UTC之间的偏移量。timezone可以被指定为时   区名或'+/-HH:HI'格式表示的偏移量。也可使用SESSIONTIMEZONE和   DBTIMEZONE函数,返回格式为'+/-HH:HI'。

    字符字符串   时区AST    大西洋标准时ADT    大西洋夏令时BST    白令标准时BDT    白令夏令时CST    中央标准时CDT    中央夏令时EST    东部标准时EDT    东部夏令时GMT    格林威治平均时HST    阿拉斯加夏威夷标准时HDT    阿拉斯加夏威夷夏令时MST    Mountain标准时MDT    Mountain夏令时NST    纽芬兰标准时PST    太平洋标准时PDT    太平洋夏令时YST    YuKon标准时YDT    YuKon夏令时     

    日期和日期时间算术

    运算  返回类型结果 

    d1-d2  NUMBER返回D1和D2之间相差的天数。该值是一个数值,其小数部分代表一天的几分之几。

    dt1-dt2  INTERVAL返回DT1和DT2之间的时间间隔。

    i1-i2  INTERVAL返回i1和i2之间的差距。

    d1+d2  N/A非法——仅能进行两个日期之间的相减。

    dt1+dt2  N/A非法——仅能进行两个日期之间的相减。

    i1+i2  INTERVAL返回i1和i2的和。

    d1+n  DATE在D1上加上N天作为DATE类型返回。N可以是实数,它包含一天的几分之几。

    d1-n  DATE从D1上减去N天作为DATE类型返回。N可以是实数,它包含一天的几分之几。

    dt1+i1  DATETIME返回DT1和I1的和。

    dt1-i1  DATETIME返回DT1和I1之间的差距。

    i1*n  INTERVAL返回I1的N次方。

    i1/n  INTERVAL返回I1除以N的值。

    表中注:D1和D2指日期值;DT1和DT2指日期时间值;I1和I2指时间间隔值;N指数字值。

     

     

    最新回复(0)