服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Mssql|Oracle|Redis|

服务器之家 - 数据库 - Oracle - PL/SQL 日期时间类型函数及运算

PL/SQL 日期时间类型函数及运算

2019-10-27 16:28脚本之家 Oracle

PL/SQL 日期时间类型函数及运算

内部存储格式:

世纪、年、月、日、小时、分钟、秒

默认格式是:DD-MON-RR。

SYSDATE返回当前的系统时间。

SELECTSYSDATEFROMDUAL;

对日期的数学运算

SELECT(SYSDATE-HIRE_DATE)/7FROMTABLENAMEWHEREROWNUM;

数字列

ADD_MONTHS(date,x)函数,返回加上X月后的日期DATE的值。X可以是任意整数。如果结果的月份中所包含的日分量少于DATE的月份的日分量,则返回结果月份的最后一天。如果不小于,则结果与DATE的日分量相同。时间分量也相同。

CURRENT_DATE以DATE类型返回会话时区当前的日期。这个函数同SYSDATE相似,除了SYSDATE不管当会话时区。

CURRENT_TIMESTAMP[(precision)]以TIMESTAMPWITHTIMEZONE类型返回会话时区当前的日期。如果指定precision,它指返回秒数的精度,缺省为6。

DBTIMEZONE返回数据库的时区。

LAST_DAY(日期)指定日期所在月份的最后一天的日期,这个函数可用来确定本月还有多少天。

LOCALTIMESTAMP[(precision)]以TIMESTAMP类型返回会话时区的当前日期。如果指定precision,它指返回秒数的精度,缺省为6。

MONTHS_BETWEEN(离当前比较近的日期date1,以前的日期)两个日期之间相差的月数(以日作为最小单位来计算的)。返回是相差的月数。如果date1和date2的日分量相同,或者这两个日期都分别是所在月的最后一天,那么返回结果是个整数。否则,返回结果包含一个分数,以一个月31天计算。

NEW_TIME(d,zone1,zone2)函数,当时区zone1中的日期和时间是D的时候,返回时区zone2中的日期和时间。

返回类型为DATE。zone1和zone2是字符字符串,另外的时区可在ORACLE9I中

通过查询V$TIMEZONE_NAMES得到。

NEXT_DAY(日期,星期几)指定日期后将要遇到的后七天的某一天的日期。

ROUND(日期,‘MONTH/YEAR')四舍五入得到新的日期。保留位置是月和年

SESSIONTIMEZONE返回当前会话的时区。返回类型是一个时区偏移或时区片名的字符字符串。如果指定格式,则与ALTERSESSION语句中的格式相同。

SYS_EXTRACT_UTC(datetime)从提供的DATETIME中以UTC(CoordinatedUniversalTime)返回时间。

DATETIME必须包含一个时区。

SYSTIMESTAMP以TIMESTAMPWITHTIMEZONE返回当前的日期和时间。当在分布式SQL语句中使用的时候,返回本地数据库的日期和时间。

TRUNC(日期,‘MONTH/YEAR')截取

TZ_OFFSET(timezone)以字符字符串返回提供的timezone和UTC之间的偏移量。timezone可以被指定为时区名或'+/-HH:HI'格式表示的偏移量。也可使用SESSIONTIMEZONE和DBTIMEZONE函数,返回格式为'+/-HH:HI'。

字符字符串时区

AST大西洋标准时

ADT大西洋夏令时

BST白令标准时

BDT白令夏令时

CST中央标准时

CDT中央夏令时

EST东部标准时

EDT东部夏令时

GMT格林威治平均时

HST阿拉斯加夏威夷标准时

HDT阿拉斯加夏威夷夏令时

MSTMountain标准时

MDTMountain夏令时

NST纽芬兰标准时

PST太平洋标准时

PDT太平洋夏令时

YSTYuKon标准时

YDTYuKon夏令时

日期和日期时间算术

运算返回类型

结果

d1-d2NUMBER

返回D1和D2之间相差的天数。该值是一个数值,其小数部分代表一天的几分之几。

dt1-dt2INTERVAL

返回DT1和DT2之间的时间间隔。

i1-i2INTERVAL

返回i1和i2之间的差距。

d1+d2N/A

非法——仅能进行两个日期之间的相减。

dt1+dt2N/A

非法——仅能进行两个日期之间的相减。

i1+i2INTERVAL

返回i1和i2的和。

d1+nDATE

在D1上加上N天作为DATE类型返回。N可以是实数,它包含一天的几分之几。

d1-nDATE

从D1上减去N天作为DATE类型返回。N可以是实数,它包含一天的几分之几。

dt1+i1DATETIME

返回DT1和I1的和。

dt1-i1DATETIME

返回DT1和I1之间的差距。

i1*nINTERVAL

返回I1的N次方。

i1/nINTERVAL

返回I1除以N的值。

表中注:

D1和D2指日期值;

DT1和DT2指日期时间值;

I1和I2指时间间隔值;

N指数字值。

延伸 · 阅读

精彩推荐
  • Oracle收集的ORACLE函数大全

    收集的ORACLE函数大全

    收集的ORACLE函数大全...

    ORACLE教程网1172019-10-27
  • OracleOracle PL/SQL语言入门基础

    Oracle PL/SQL语言入门基础

    PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述...

    Oracle教程网4692019-10-26
  • OracleOracle8i和Microsoft SQL Server比较

    Oracle8i和Microsoft SQL Server比较

    Oracle 8i和Microsoft SQL Server 比较。 体系结构 Microsoft按照客户/服务器体系结构的分布进行操作。这种方法产生不必要的代价和复杂性。在Internet中,Oracle已经...

    Oracle教程网2262019-10-24
  • OracleOracle数据库索引的维护

    Oracle数据库索引的维护

    本文只讨论Oracle中最常见的索引,即是B-tree索引。本文中涉及的数据库版本是Oracle8i。 ...

    Oracle教程网3562019-10-25
  • Oracle在ORACLE移动数据库文件

    在ORACLE移动数据库文件

    ORACLE数据库由数据文件,控制文件和联机日志文件三种文件组成。由于磁盘空间的变化,或者基于数据库磁盘I/O 性能的调整等,数据库管理员可能会考虑移...

    ORACLE技术网1652019-10-21
  • OracleOracle数据库的备份与恢复

    Oracle数据库的备份与恢复

    当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(包括机器故障、介质故障、误操作等),数据库有时也可能遭...

    Oracle数据库教程2132019-10-18
  • Oracle全新感受Oracle 9i

    全新感受Oracle 9i

    Oracle背景资料 在介绍Oracle9i之前我们先介绍一些关于 Oracle公司的资料,让各位朋友更多了解Oracle。 1977年,拉里艾里森和BobMiner、EdOates一起创建一家软件开...

    Oracle教程网1432019-10-25
  • OracleOracle 8i字符集乱码问题析及其解决办法

    Oracle 8i字符集乱码问题析及其解决办法

    一、问题描述 SQLPlusWorkSheet是一个窗口图形界面的SQL语句编辑器,对于那些喜欢窗口界面而不喜欢字符界面的用户,该工具相对SQL/PLUS受到了很大的欢迎。但...

    Oracle教程网2132019-10-24