(十六)PL/SQL日期及时间

PL/SQL提供两个日期和时间相关的数据类型:
  1.日期时间(Datetime)数据类型
    DATE
    TIMESTAMP
    TIMESTAMP WITH TIME ZONE
    TIMESTAMP WITH LOCAL TIME ZONE
  2.间隔数据类型
    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)转换为整数
时间: 2024-10-06 03:30:32

(十六)PL/SQL日期及时间的相关文章

Oracle学习笔记十 使用PL/SQL

PL/SQL 简介 PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言,是对 SQL 的扩展,它支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制结构,可用于创建存储过程.触发器和程序包,给SQL语句的执行添加程序逻辑,与 Oracle 服务器和 Oracle 工具紧密集成,具备可移植性.灵活性和安全性. PL/SQL 的优点 支持 SQL,在 PL/SQL 中可以使用: 1.数据操纵命令 2.事务控制命令 3.游标控制 4.

Flask 教程 第十二章:日期和时间

本文翻译自The Flask Mega-Tutorial Part XII: Dates and Times 这是Flask Mega-Tutorial系列的第十二部分,我将告诉你如何以适配所有用户的方式处理日期和时间,无论他们身处地球上的何处. 显示日期和时间是Microblog应用中长期被忽略的其中一个方面. 直到现在,我也只是让Python渲染了User模型中的datetime对象,并且完全忽略了Post模型中的datetime对象. 本章的GitHub链接为:Browse, Zip, D

(十)PL/SQL记录

PL/SQL记录就是可以容纳不同类型的数据项的数据结构.记录由不同字段,类似于数据库表的行.例如,要保留跟踪图书馆中的书籍.可能要跟踪有关每本书下面的属性类似:标题,作者,主题,图书ID.包含一个字段为每个这些项目记录允许进行处理书籍作为一个逻辑单元信息. PL/SQL可以处理记录的以下几种类型:   基于表的记录   基于游标的记录   用户自定义记录      附:  Select * from customers;+----+----------+-----+-----------+---

SQL日期和时间函数

使用这些函数可以计算日期和时间值.例如,假设您希望了解通常在一周中哪一天的销售量最高.使用 DAYOFWEEK 函数,您可以创建一个公式来标识每天的销售订单数量.再比如,假设您希望比较在过去的一年中的季度收益.使用 QUARTER 函数,您可以按季度划分整年的销售量. 日期和时间函数可使用以下数据类型:String.Integer 和 DateTime.其默认格式由本地计算机的区域设置决定. datepart参数 datepart 缩写 year yy, yyyy quarter qq, q m

Oracle笔记 十、PL/SQL存储过程

--create or replace 创建或替换,如果存在就替换,不存在就创建 create or replace procedure p is cursor c is select * from dept2 for update; begin for row_record in c loop if (row_record.deptno = 30) then update dept2 set dname = substr(dname, 0, length(dname) - 3) where c

第十六部分SQL连接的三种方式

方法一: Windows验证登录: sqlconnection.ConnectionString = "Server=(local);DataBase=EduBaseHos;Integrated Security=sspi"; 方法二: sqlconnection.ConnectionString =                    "Server=(local);DataBase=EduBaseHos;uid=jsj;[email protected]";

(三)PL/SQL数据类型

PL/SQL变量,常量和参数都必须有一个有效的数据类型,指定存储格式,约束和值的有效范围. 分类 描述 标量 单值没有内部组件,如NUMBER, DATE 或 BOOLEAN 大对象(LOB) 指向其他数据项,如文本,图形图像,视频剪辑和声音等存储大对象 复合 具有可单独访问的内部组件的数据项.例如,集合和记录 引用 指向其他数据项 一.标量 1.PL/SQL标量数据类型和子类型 数据类型 描述 数字 在其上执行的算术运算的数值 字符 代表单个字符或字符的字母数字字符串值 布尔 在其上执行的逻辑

二十六、oracle pl/sql 分页

一.无返回值的存储过程 古人云:欲速则不达,为了让大家伙比较容易接受分页过程编写,我还是从简单到复杂,循序渐进的给大家讲解.首先是掌握最简单的存储过程,无返回值的存储过程. 案例:现有一张表book,表结构如下:书号.书名.出版社. CREATE TABLE book( ID NUMBER(4), book_name VARCHAR2(30), publishing VARCHAR2(30)); 请写一个过程,可以向book表添加书,要求通过java程序调用该过程. --注意:in->表示这是一

二十四、oracle pl/sql 变量

一.变量介绍在编写pl/sql程序时,可以定义变量和常量:在pl/sql程序中包括有:1).标量类型(scalar)2).复合类型(composite) --用于操作单条记录3).参照类型(reference) --用于操作多条记录4).lob(large object) 二.标量(scalar)——常用类型1).在编写pl/sql块时,如果要使用变量,需在定义部分定义变量.pl/sql中定义变量和常量的语法如下:identifier [constant] datatype [not null]