codecamp

PL / SQL日期和时间

PL / SQL提供了两个班的日期和时间相关的数据类型:

  • 日期时间数据类型

  • 间隔数据类型

datetime数据类型有:

  • 日期

  • TIMESTAMP

  • TIMESTAMP WITH TIME ZONE

  • WITH LOCAL TIME ZONE TIMESTAMP

该区间的数据类型是:

  • INTERVAL YEAR TO MONTH

  • INTERVAL DAY TO SECOND

字段值datetime和间隔数据类型

这两个日期时间间隔数据类型由字段 。这些字段的值决定了数据类型的值。下表列出了时间和间隔的字段及其可能的值。

字段名称有效日期时间值有效的时间间隔值
-4712〜9999(不含一年0) 任何非零整数
01到12 0至11
01到31(按年份和月份的数值限制,根据日历区域设置的规则) 任何非零整数
小时 00〜23 0到23
分钟 00〜59 0到59
第二 00至59.9(n),其中9(n)是时间小数秒精度

9(n)的部分不适用日期。

0至59.9(n),其中9(n)是间隔小数秒精度
TIMEZONE_HOUR -12到14(范围适应夏令时的变化)

不适用于日期或时间戳。

不适用
TIMEZONE_MINUTE 00〜59

不适用于日期或时间戳。

不适用
TIMEZONE_REGION 不适用于日期或时间戳。 不适用
TIMEZONE_ABBR 不适用于日期或时间戳。 不适用

日期时间数据类型和函数

下面是日期时间数据类型:

  • 日期 -它存储在字符和数字数据类型的日期和时间信息。它是由上世纪,年,月,日,小时,分钟和秒的信息。它被规定为:

  • 时间戳 -它是日期数据类型的扩展。它存储了年,月,和日期数据类型的天,小时,分钟和秒值一起。它是用于存储精确的时间值是有用的。

  • WITH TIME ZONE TIMESTAMP -这是TIMESTAMP的变体,其中包括一个时区的区域名称或时区的偏移值。时区偏移量是本地时间和UTC之间的差值(以小时和分钟)。此数据类型是收集和评估不同地理区域的最新信息是有用的。

  • WITH LOCAL TIME ZONE TIMESTAMP -这是TIMESTAMP的另一个变种,其中包括一个时区的偏移值。

下表提供了日期时间函数(其中,x有日期时间值):

SN 功能名称和说明
1 ADD_MONTHS(X,Y);

Ÿ添加月至x。

2 LAST_DAY(X);

返回该月的最后一天。

3 MONTHS_BETWEEN(X,Y);

返回x和y之间的月数。

4 NEXT_DAY(X,日);

返回x之后, 第二天的日期时间。

NEW_TIME;

返回由用户指定的一个时区的时间/天的值。

6 ROUND(X [,单位]);

将x;

7 SYSDATE();

返回当前日期时间。

8 TRUNC(X [,单位]);

截断的X.

时间戳功能(其中,x具有时间戳值):

SN 功能名称和说明
1 CURRENT_TIMESTAMP();

返回包含当前会话时间和会话时区沿时区中的时间戳。

2 EXTRACT({YEAR | MONTH | DAY | HOUR | MINUTE | SECOND} | {TIMEZONE_HOUR | TIMEZONE_MINUTE} | {TIMEZONE_REGION |} TIMEZONE_ABBR)从X)

提取并返回一年,月,日,时,分,秒,或时间从X区;

3 FROM_TZ(X,TIME_ZONE);

通过TIME_ZONE指定WITH TIMEZONE一个TIMESTAMP时间戳x和时区转换。

4 LOCALTIMESTAMP();

返回包含在会话时区的本地时间戳记。

SYSTIMESTAMP();

返回包含当前数据库时,与数据库的时区以及时区中的时间戳。

6 SYS_EXTRACT_UTC(X);

WITH TIMEZONE x中的TIMESTAMP转换为包含UTC日期和时间的时间戳。

7 TO_TIMESTAMP(X,[格式]);

将字符串x转换为一个TIMESTAMP。

8 TO_TIMESTAMP_TZ(X,[格式]);

该字符串x到WITH TIMEZONE值转换为时间戳。

例子:

下面的代码段示出了使用上述功能:

SELECT SYSDATE FROM DUAL;

输出:

08/31/2012 5:25:34 PM
SELECT TO_CHAR(CURRENT_DATE, 'DD-MM-YYYY HH:MI:SS') FROM DUAL;

输出:

31-08-2012 5点26分14秒
SELECT ADD_MONTHS(SYSDATE, 5) FROM DUAL;

输出:

2013年1月31日下午5时26分31秒
SELECT LOCALTIMESTAMP FROM DUAL;

输出:

8/31/2012 5:26:55.347000 PM

间隔数据类型和函数

以下是间隔的数据类型:

  • INTERVAL YEAR TO MONTH - 它存储使用年份和月份日期时间字段的一段时间。

  • INTERVAL DAY TO SECOND - 它存储在天,小时,分钟和秒来一段时间。

间隔功能:

SN 功能名称和说明
1 NUMTODSINTERVAL(X,interval_unit);

数字x转换为一个INTERVAL DAY TO SECOND。

2 NUMTOYMINTERVAL(X,interval_unit);

X,将INTERVAL YEAR TO MONTH数转换。

3 TO_DSINTERVAL(X);

将字符串x转换为一个INTERVAL DAY TO SECOND。

4 TO_YMINTERVAL(X);

该字符串x到INTERVAL YEAR TO MONTH转换。


PL / SQL数组
PL / SQL DBMS输出
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }