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整数
MONTH 01 - 12 0 - 11
DAY 01 - 31 (受MONTH和YEAR的数值,按日历的区域设置的规则) 任何非0整数
HOUR 00 - 23 0 - 23
MINUTE 00 - 59 0 - 59
SECOND 00 to 59.9(n), 其中,9(n)是时间小数秒精度
在9(n)的部分是不适用DATE。
0 to 59.9(n), 其中,9(n)是区间小数秒精度
TIMEZONE_HOUR -12 - 14 (适应范围夏令时更改)
DATE 或 TIMESTAMP不适用.
不适用
TIMEZONE_MINUTE 00 - 59
DATE 或 TIMESTAMP不适用.
不适用
TIMEZONE_REGION DATE 或 TIMESTAMP不适用. 不适用
TIMEZONE_ABBR DATE 或 TIMESTAMP不适用. 不适用

日期时间数据类型和函数

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

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

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

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

  • TIMESTAMP WITH LOCAL TIME ZONE - 它是时间戳(TIMESTAMP )的另一种变型,其中包括一个时区中它的值偏移。

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

S.N 函数名称 & 描述
1 ADD_MONTHS(x, y);
增加y个月到x
2 LAST_DAY(x);
返回该月的最后一天
3 MONTHS_BETWEEN(x, y);
返回x和y之间的月数
4 NEXT_DAY(x, day);
返回x后第二天的日期时间
5 NEW_TIME;
返回从由用户指定的一个时区的时间/天的值
6 ROUND(x [, unit]);
x舍入;
7 SYSDATE();
返回当前日期时间。
8 TRUNC(x [, unit]);
截断x

时间戳函数(其中,x是一个时间戳值):

S.N 函数名称 & 描述
1 CURRENT_TIMESTAMP();
返回包含当前会话时间以及会话时区的时区中的时间戳( TIMESTAMP WITH TIME ZONE)
2 EXTRACT({ YEAR | MONTH | DAY | HOUR | MINUTE | SECOND } | { TIMEZONE_HOUR | TIMEZONE_MINUTE } | { TIMEZONE_REGION | } TIMEZONE_ABBR ) FROM x)
从x提取并返回年,月,日,时,分,秒,或时间;
3 FROM_TZ(x, time_zone);
通过TIME_ZONE指定WITH TIMEZONE一个TIMESTAMP时间戳x和时区转换
4 LOCALTIMESTAMP();
返回包含在会话时区的本地时间时间戳
5 SYSTIMESTAMP();
返回含有当前数据库的时间以及数据库时区的时区中的时间戳(TIMESTAMP WITH TIME ZONE)
6 SYS_EXTRACT_UTC(x);
WITH TIMEZONE X的TIMESTAMP转换为包含日期和时间UTC时间戳
7 TO_TIMESTAMP(x, [format]);
将字符串x转换为一个TIMESTAMP
8 TO_TIMESTAMP_TZ(x, [format]);
字符串x转换到WITH TIMEZONE时间戳

示例:

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

SELECT SYSDATE FROM DUAL;

输出:

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

输出:

31-08-2014 05:26:14
SELECT ADD_MONTHS(SYSDATE, 5) FROM DUAL;

输出:

01/31/2014 5:26:31 PM
SELECT LOCALTIMESTAMP FROM DUAL;

输出:

8/31/2014 5:26:55.347000 PM

间隔数据类型和函数

以下是间隔数据类型:

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

  • INTERVAL DAY TO SECOND - 它存储了一段时间中的天,小时,分钟和秒

间隔函数:

S.N 函数名称 & 描述
1 NUMTODSINTERVAL(x, interval_unit);
整数x转换为一个间隔(DAY TO SECOND)
2 NUMTOYMINTERVAL(x, interval_unit);
x到时间间隔(YEAR TO MONTH)数的转换
3 TO_DSINTERVAL(x);
将字符串x时间间隔(DAY TO SECOND)到秒转换
4 TO_YMINTERVAL(x);
将字符串x时间间隔(YEAR TO MONTH)转换为整数

SQL记录-PLSQL日期与时间的更多相关文章

  1. 【MSSQL】SQL Server的日期和时间类型

    参考:SQL Server的日期和时间类型 SQL Server使用 Date 表示日期,time表示时间,使用datetime和datetime2表示日期和时间. 1.秒的精度 秒的精度是指TSQL ...

  2. SQL记录-PLSQL基本语法与数据类型

    PL/SQL基本语法 PL/SQL是一种块结构的语言,这意味着PL/SQL程序被划分和编写代码的逻辑块.每块由三个子部分组成: S.N. 段和说明 1 声明 此部分开头使用关键字DECLARE.它是一 ...

  3. SQL记录-PLSQL变量与常量文字

    PL/SQL变量   变量是只不过是一个给定的存储区域,程序可以操纵的名称.PL/SQL每个变量具有一个特定的数据类型,它决定了大小和变量的存储器的值,可以说存储器和设置操作可以施加到可变内被存储的范 ...

  4. SQL Server的日期和时间类型

    Sql Server使用 Date 表示日期,time表示时间,使用datetime和datetime2表示日期和时间. 1,秒的精度是指使用多少位小数表示秒 DateTime数据类型秒的精度是3,D ...

  5. SQL 中的日期和时间类型

    在我们SQL中一般支持三种数据类型. date:日历日期,包括年(四位),月和日. time: 一天中的时间,包括小时,分和秒.可以用变量time(p)来表示秒的小数点后的数字位数(默认是0). 通过 ...

  6. SQL记录-PLSQL记录

    PL/SQL记录   PL/SQL记录就是可以容纳不同类型的数据项的数据结构.记录由不同字段,类似于数据库表的行. 例如,要保留跟踪图书馆中的书籍.可能要跟踪有关每本书下面的属性类似:标题,作者,主题 ...

  7. SQL记录-PLSQL游标

    PL/SQL游标 Oracle会创建一个存储区域,被称为上下文区域,用于处理SQL语句,其中包含需要处理的语句,例如所有的信息,行数处理,等等. 游标是指向这一上下文的区域. PL/SQL通过控制光标 ...

  8. SQL记录-PLSQL条件控制

    PL/SQL条件控制   决策结构需要程序员指定一个或多个条件要计算,或由程序进行测试,如果条件被确定为真那么一条或多条语句被执行,如果要被执行的其它语句条件被确定为假,则选其它执行块. 以下是从在大 ...

  9. SQL记录-PLSQL包

    PL/SQL包 PL/SQL包是组逻辑相关的PL/SQL类型,变量和子程序模式对象. 程序包将有两个强制性的部分: 包装规范定义 包体或定义 包装规范定义 规范是接口到包.它只是声明的类型,变量,常量 ...

随机推荐

  1. mybatis 初步使用(IDEA的Maven项目, 超详细)

    目录 创建 Maven 项目 Maven配置 pom.xml 创建数据库 配置Mybatis 配置mybatis的XML文件 创建实体类和对应的Mapper.xml 测试 源码 @ 创建 Maven ...

  2. 1.0.0 Unity零基础入门——打砖块

    1)设置好相应场景 2)创建脚本挂载到相应物体上并编写 2.代码 //Shoot - - 控制小球生成与射击 using System.Collections; using System.Collec ...

  3. 作业要求 20181204-5 Final阶段贡献分配规则及实施

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2479 贡献规则 贡献分分配规则: 组内一共八名同学,贡献分共计80分. ...

  4. #个人博客作业Week1——浏览教材后提出的5个问题

    1.对于MSF的团队模型,请问是团队中的哪个角色监督9项原则的实现?是否会浪费时间和精力在践行9项原则上?2.在调查用户需求和用户体验时如何让不同阶层的用户更多的参与度?3.想成为一位优秀的PM需要从 ...

  5. AIX上安装配置DB2

    在2台P550数据库主机上安装DB2 V8.2,两台数据库主机间进行数据库HA配置,实现数据库双机互备. 本文档编写以磁盘大小360G,数据库名CRAMS_JS为例. 设备准备 请系统管理员协助划分D ...

  6. C语言和go语言之间的交互 - C语言中使用go语言,使用的go语言又使用了c语言

    一.go语言中使用C语言 go代码中使用C代码,在go语言的函数块中,以注释的方式写入C代码,然后紧跟import “C” 即可在go代码中使用C函数 代码示例: go代码:testC.go 1 pa ...

  7. 从零开始学Kotlin-类的继承(6)

    从零开始学Kotlin基础篇系列文章 Kotlin中的超类Any Kotlin 中所有类都继承超类 Any 类 class demo6 //默认继承超类Any class demo6 : Any() ...

  8. # 蜗牛慢慢爬 LeetCode 21. Merge Two Sorted Lists [Difficulty: Easy]

    题目 Merge two sorted linked lists and return it as a new list. The new list should be made by splicin ...

  9. final发布评论Ⅱ

    奋斗吧兄弟:奋斗吧兄弟团队提供了草原.水域.田地三种环境可以进行选择.功能如下:添加自定义生物功能可以增加生物种类,但是无法设置捕食关系,这里希望想办法完善.生物除了图片方式以外,还可以以文字的方式展 ...

  10. 11th 回忆整个学期——告学弟学妹

    告诉后来的学弟学妹,不要因为艰难而却步,坚持下去才知道,山的对面是什么.很多东西或许一开始看起来是无用,甚至无意义的,但是努力去做,你才知道价值所在.不要等一切结束了,才懂得自己错过了什么.