一: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不适用. 不适用

五:日期时间函数(x 是DATE值)

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是TIMESTAMP值)

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时间戳

七:时间间隔函数

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)转换为整数

PL/SQL学习笔记之日期时间的更多相关文章

  1. ORALCE PL/SQL学习笔记

    ORALCE  PL/SQL学习笔记 详情见自己电脑的备份数据资料

  2. Oracle之PL/SQL学习笔记

    自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家 ...

  3. PL\SQL学习笔记

    注释 单行--多行 一.declare一般用于做变量的申明.begin 程序体开始执行  end; 程序体结束exception .. dbms_output.put_line('绝对值'||v_ab ...

  4. PL/SQL学习笔记之数据类型中的标量、LOB

    一:标量 标量 即 基本数据类型,主要有4种:数值.字符.布尔类型.日期时间. 1:数值类型 数据类型 描述 PLS_INTEGER 通过2,147,483,647到-2147483648范围内有符号 ...

  5. PL/SQL学习笔记_03_存储函数与存储过程

    ORACLE 提供可以把 PL/SQL 程序存储在数据库中,并可以在任何地方来运行它.这样就叫存储过程或函数. 存储函数:有返回值,创建完成后,通过select function() from dua ...

  6. [Oracle] PL/SQL学习笔记

    -- 1. 使用一个变量 declare -- Local variables here v_name ); begin -- Test statements here select t.user_n ...

  7. PL/SQL学习笔记_01_基础

    PL/SQL语句可以在Oracle客户端的 SQL窗口或者 command  窗口中运行 在SQL窗口中运行步骤同 SQL语句 在command  窗口中运行的步骤如下: 1)File—new com ...

  8. PL/SQL学习笔记程序单元

    一:程序单元组成 一个PL/SQL程序单元主要包括三部分: 声明与定义部分:声明变量.常量.类型等:定义过程.函数等: 执行部分:执行PL/SQL语句:调用过程.参数:处理游标等: 异常处理部分:处理 ...

  9. PL/SQL学习笔记之包

    一:包 包是由一组相关的函数,过程,变量,游标等PL/SQL程序设计元素的组合而成的一个PL/SQL程序单元,相当于Java中的类. 包的主要作用是封装:把相同或相似的东西归类,方便维护和管理,提高开 ...

随机推荐

  1. JavaSE| 泛型

    泛型 泛型:对后续所有操作的类型做约束,对后续操作起作用,对之前的不起作用: 对类型进行约束:  父 ----> 子,从范围上,父范围小,子范围大:把范围小的给范围大的, JDK1.5改写了集合 ...

  2. 20165235 祁瑛 2018-4 《Java程序设计》第八周学习总结

    20165235 祁瑛 2018-4 <Java程序设计>第八周学习总结 教材学习内容总结 操作系统与进程 程序是一段静态的代码,它是应用软件执行的蓝本.进程是程序的一次动态执行过程,它对 ...

  3. 在 Wiki 标记中添加无序列表

    项目:在 Wiki 标记中添加无序列表在编辑一篇维基百科的文章时,你可以创建一个无序列表,即让每个列表项占据一行,并在前面放置一个星号.但是假设你有一个非常大的列表,希望添加前面的星号.你可以在每一行 ...

  4. pyqt text browser 设置文本

    pyqt text browser 设置文本 setHtml(u"Html") setPlainText(u"纯文本") setText(u"文本\n ...

  5. HDU 3861 The King’s Problem (强连通缩点+DAG最小路径覆盖)

    <题目链接> 题目大意: 一个有向图,让你按规则划分区域,要求划分的区域数最少. 规则如下:1.所有点只能属于一块区域:2,如果两点相互可达,则这两点必然要属于同一区域:3,区域内任意两点 ...

  6. 笔记-JS高级程序设计-变量,作用域和内存问题

    1在将一个值赋给变量时,解析器必须确认这个值是基本类值还是引用类型值,基本类型值是按值访问的,可以操作保存在在变量中的实际值,引用类型是保 存在内存中的对象,JS不允许直接访问内存中的位置,所以实际操 ...

  7. Linux下的计划任务at,batch,crontab

    0x00前言: 继上次的windows计划任务后,拓展研究下linux下的计划任务,能够执行计划任务有3个命令at,batch,crontab 所谓的计划任务就是定时启动某个程序,可以是一组shell ...

  8. EF Core中的多对多映射如何实现?

    EF 6.X中的多对多映射是直接使用HasMany-HasMany来做的.但是到了EF Core中,不再直接支持这种方式了,可以是可以使用,但是不推荐,具体使用可以参考<你必须掌握的Entity ...

  9. Centos ATI 显卡安装,“LCD 信号超出范围” 解决方法

    centso ATI 显卡驱动安装 centos 版本 32位 6.4 Final ATI 显卡版本:Radeon HD 7400 Series 之前由于很久自己安装了centos显卡,分辨率很低不能 ...

  10. 潭州课堂25班:Ph201805201 django 项目 第十三课 短信验证码后台的实现 (课堂笔记)

    d 发送短信验证码之前,后台要得到三个参数 : 1,用户手机吗,, 2,用户输入的图片验证文本, 3,前台的 uuid , 在60秒内是否有发送短信的记录 只有用户输入的手机号,文本信息与 uudi ...