您的位置:首页 > 数据库

PL/SQL学习笔记之日期时间

2018-01-16 18:43 197 查看
一:PL/SQL时间相关类型

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

日期时间(Datetime)数据类型

时间间隔类型

二:日期时间类型

datetime数据类型有:

DATE

TIMESTAMP

TIMESTAMP WITH TIME ZONE

TIMESTAMP WITH LOCAL TIME ZONE

三:时间间隔类型

INTERVAL YEAR TO MONTH

INTERVAL DAY TO SECOND

四:日期时间类型 和 时间间隔类型 的可能字段

字段名称有效日期时间值有效的间隔值
YEAR-4712 to 9999 (除外0年)任何非0整数
MONTH01 - 120 - 11
DAY01 - 31 (受MONTH和YEAR的数值,按日历的区域设置的规则)任何非0整数
HOUR00 - 230 - 23
MINUTE00 - 590 - 59
SECOND00 to 59.9(n), 其中,9(n)是时间小数秒精度

在9(n)的部分是不适用DATE。
0 to 59.9(n), 其中,9(n)是区间小数秒精度
TIMEZONE_HOUR-12 - 14 (适应范围夏令时更改)

DATE 或 TIMESTAMP不适用.
不适用
TIMEZONE_MINUTE00 - 59

DATE 或 TIMESTAMP不适用.
不适用
TIMEZONE_REGIONDATE 或 TIMESTAMP不适用.不适用
TIMEZONE_ABBRDATE 或 TIMESTAMP不适用.不适用
五:日期时间函数(x 是DATE值)

S.N函数名称 & 描述
1ADD_MONTHS(x, y);

增加y个月到x
2LAST_DAY(x);

返回该月的最后一天
3MONTHS_BETWEEN(x, y);

返回x和y之间的月数
4NEXT_DAY(x, day);

返回x后第二天的日期时间
5NEW_TIME;

返回从由用户指定的一个时区的时间/天的值
6ROUND(x [, unit]);

x舍入;
7SYSDATE();

返回当前日期时间。
8TRUNC(x [, unit]);

截断x
六:时间戳函数(x是TIMESTAMP值)

S.N函数名称 & 描述
1CURRENT_TIMESTAMP();

返回包含当前会话时间以及会话时区的时区中的时间戳( TIMESTAMP WITH TIME ZONE)
2EXTRACT({ YEAR | MONTH | DAY |
HOUR | MINUTE | SECOND } | { TIMEZONE_HOUR | TIMEZONE_MINUTE } | {
TIMEZONE_REGION | } TIMEZONE_ABBR ) FROM x)


从x提取并返回年,月,日,时,分,秒,或时间;
3FROM_TZ(x, time_zone);

通过TIME_ZONE指定WITH TIMEZONE一个TIMESTAMP时间戳x和时区转换
4LOCALTIMESTAMP();

返回包含在会话时区的本地时间时间戳
5SYSTIMESTAMP();

返回含有当前数据库的时间以及数据库时区的时区中的时间戳(TIMESTAMP WITH TIME ZONE)
6SYS_EXTRACT_UTC(x);

WITH TIMEZONE X的TIMESTAMP转换为包含日期和时间UTC时间戳
7TO_TIMESTAMP(x, [format]);

将字符串x转换为一个TIMESTAMP
8TO_TIMESTAMP_TZ(x, [format]);

字符串x转换到WITH TIMEZONE时间戳
七:时间间隔函数

S.N函数名称 & 描述
1NUMTODSINTERVAL(x, interval_unit);

整数x转换为一个间隔(DAY TO SECOND)
2NUMTOYMINTERVAL(x, interval_unit);

x到时间间隔(YEAR TO MONTH)数的转换
3TO_DSINTERVAL(x);

将字符串x时间间隔(DAY TO SECOND)到秒转换
4TO_YMINTERVAL(x);

将字符串x时间间隔(YEAR TO MONTH)转换为整数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: