SQL记录-PLSQL日期与时间
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日期与时间的更多相关文章
- 【MSSQL】SQL Server的日期和时间类型
参考:SQL Server的日期和时间类型 SQL Server使用 Date 表示日期,time表示时间,使用datetime和datetime2表示日期和时间. 1.秒的精度 秒的精度是指TSQL ...
- SQL记录-PLSQL基本语法与数据类型
PL/SQL基本语法 PL/SQL是一种块结构的语言,这意味着PL/SQL程序被划分和编写代码的逻辑块.每块由三个子部分组成: S.N. 段和说明 1 声明 此部分开头使用关键字DECLARE.它是一 ...
- SQL记录-PLSQL变量与常量文字
PL/SQL变量 变量是只不过是一个给定的存储区域,程序可以操纵的名称.PL/SQL每个变量具有一个特定的数据类型,它决定了大小和变量的存储器的值,可以说存储器和设置操作可以施加到可变内被存储的范 ...
- SQL Server的日期和时间类型
Sql Server使用 Date 表示日期,time表示时间,使用datetime和datetime2表示日期和时间. 1,秒的精度是指使用多少位小数表示秒 DateTime数据类型秒的精度是3,D ...
- SQL 中的日期和时间类型
在我们SQL中一般支持三种数据类型. date:日历日期,包括年(四位),月和日. time: 一天中的时间,包括小时,分和秒.可以用变量time(p)来表示秒的小数点后的数字位数(默认是0). 通过 ...
- SQL记录-PLSQL记录
PL/SQL记录 PL/SQL记录就是可以容纳不同类型的数据项的数据结构.记录由不同字段,类似于数据库表的行. 例如,要保留跟踪图书馆中的书籍.可能要跟踪有关每本书下面的属性类似:标题,作者,主题 ...
- SQL记录-PLSQL游标
PL/SQL游标 Oracle会创建一个存储区域,被称为上下文区域,用于处理SQL语句,其中包含需要处理的语句,例如所有的信息,行数处理,等等. 游标是指向这一上下文的区域. PL/SQL通过控制光标 ...
- SQL记录-PLSQL条件控制
PL/SQL条件控制 决策结构需要程序员指定一个或多个条件要计算,或由程序进行测试,如果条件被确定为真那么一条或多条语句被执行,如果要被执行的其它语句条件被确定为假,则选其它执行块. 以下是从在大 ...
- SQL记录-PLSQL包
PL/SQL包 PL/SQL包是组逻辑相关的PL/SQL类型,变量和子程序模式对象. 程序包将有两个强制性的部分: 包装规范定义 包体或定义 包装规范定义 规范是接口到包.它只是声明的类型,变量,常量 ...
随机推荐
- 关于CMS的那点事 I
CMS是Content Management System的缩写,意为"内容管理系统".CMS其实是一个很广泛的称呼,从一般的博客程序,新闻发布程序,到综合性的网站管理程序都可以被 ...
- LeetCode Container With Most Water (Two Pointers)
题意 Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai ...
- Linux Mint安装Docker踩坑指南
我家的服务器选用的Linux Mint系统,最近安装Docker的时候踩了一些小坑,但是总体还算顺利. 我们都知道Linux Mint系统是基于Ubuntu的,说实话用起来感觉还是很不错的,安装Doc ...
- mac10.12.6系统使用cmake安装opencv3.3.0+opencv_contrib-3.3.0
brew与cmake brew安装 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/ins ...
- MIT-6.828-JOS-lab3:User Environments
Lab 3: User Environments实验报告 tags:mit-6.828 os 概述: 本文是lab3的实验报告,主要介绍JOS中的进程,异常处理,系统调用.内容上分为三部分: 用户环境 ...
- 关于几个vcenter的合并心得!
由于最近公司领导觉得公司几个vcenter管理的不同网段IP,办公的时候操作不方便,故本人把几个vcenter上面的esxi主机合并到一个里面! 通过几次测试,发现最简单的方法就是直接用一台vcent ...
- 拓扑排序(Topological Sort)
Graph 拓扑排序(Topological Sort) 假设一个应用场景:你用 C 编写了一个爬虫工具,其中有很多自定义的库:queue.c.queue.h.stack.c.stack.h.heap ...
- R语言做相关性分析
衡量随机变量相关性的方法主要有三种:pearson相关系数,spearman相关系数,kendall相关系数: 1. pearson相关系数,亦即皮尔逊相关系数 pearson相关系数用来 ...
- 《Linux内核分析》第一周——计算机是如何工作的?
杨舒雯 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 课程内容 1.诺曼依体系 ...
- 第一个spring冲刺总结及后诸葛亮报告(附团队贡献分)
眨眼就完结了第一阶段的冲刺了,之前因为学校停电停水等诸多原因而导致冲刺完毕时间的推迟. 第一阶段总体是做到了运算的功能,只是一些基本的功能实现,但能保证的容错性能较高. 1.在普遍的四则运算中都能见到 ...