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

内部存储格式:
世纪、年、月、日、小时、分钟、秒
默认格式是:DD-MON-RR。
SYSDATE 返回当前的系统时间。
SELECT SYSDATE FROM DUAL;
对日期的数学运算
SELECT (SYSDATE-HIRE_DATE)/7 FROM TABLENAME WHERE ROWNUM;
  数字列
ADD_MONTHS(date,x)函数,返回加上X月后的日期DATE的值。X可以是任意整数。如果结果的月份中所包含的   日分量少于DATE的月份的日分量,则返回结果月份的最后一天。如果不小于,则    结果与DATE的日分量相同。时间分量也相同。
CURRENT_DATE 以DATE类型返回会话时区当前的日期。这个函数同SYSDATE相似,除了SYSDATE不管当               会话时区。
CURRENT_TIMESTAMP[(precision)] 以TIMESTAMP WITH TIMEZONE 类型返回会话时区当前的日期。如果    指定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 返回当前会话的时区。返回类型是一个时区偏移或时区片名的字符字符串。如果指   定格式,则与 ALTER SESSION 语句中的格式相同。
SYS_EXTRACT_UTC(datetime) 从提供的DATETIME中以UTC(Coordinated Universal Time)返回时间。
    DATETIME必须包含一个时区。
SYSTIMESTAMP 以TIMESTAMP WITH TIMEZONE 返回当前的日期和时间。当在分布式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    阿拉斯加夏威夷夏令时
MST    Mountain标准时
MDT    Mountain夏令时
NST    纽芬兰标准时
PST    太平洋标准时
PDT    太平洋夏令时
YST    YuKon标准时
YDT    YuKon夏令时 
日期和日期时间算术
运算  返回类型
结果 
d1-d2  NUMBER
返回D1和D2之间相差的天数。该值是一个数值,其小数部分代表一天的几分之几。
dt1-dt2  INTERVAL
返回DT1和DT2之间的时间间隔。
i1-i2  INTERVAL
返回i1和i2之间的差距。
d1+d2  N/A
非法——仅能进行两个日期之间的相减。
dt1+dt2  N/A
非法——仅能进行两个日期之间的相减。
i1+i2  INTERVAL
返回i1和i2的和。
d1+n  DATE
在D1上加上N天作为DATE类型返回。N可以是实数,它包含一天的几分之几。
d1-n  DATE
从D1上减去N天作为DATE类型返回。N可以是实数,它包含一天的几分之几。
dt1+i1  DATETIME
返回DT1和I1的和。
dt1-i1  DATETIME
返回DT1和I1之间的差距。
i1*n  INTERVAL
返回I1的N次方。
i1/n  INTERVAL
返回I1除以N的值。
表中注:
D1和D2指日期值;
DT1和DT2指日期时间值;
I1和I2指时间间隔值;
N指数字值。

(0)

相关推荐

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

    内部存储格式: 世纪.年.月.日.小时.分钟.秒 默认格式是:DD-MON-RR. SYSDATE 返回当前的系统时间. SELECT SYSDATE FROM DUAL: 对日期的数学运算 SELECT (SYSDATE-HIRE_DATE)/7 FROM TABLENAME WHERE ROWNUM;   数字列 ADD_MONTHS(date,x)函数,返回加上X月后的日期DATE的值.X可以是任意整数.如果结果的月份中所包含的   日分量少于DATE的月份的日分量,则返回结果月份的最后一

  • PL/SQL Number数字类型函数

    ABS(x) 函数,此函数用来返回一个数的绝对值. ACOS(x)函数,返回X的反余弦值.X范围从1到-1,输入值从0到派,以弧度为单位. ASIN(x)函数,返回X的反正弦值.X范围从1到-1,输入值从-PI/2到PI/2,以弧度为单位. ATAN(x)函数,返回X的反正切值.输入值从-PI/2到PI/2,以弧度为单位. BITAND(x,y)函数,返回X和Y的与结果.X和Y必须为非负整数.注意没有BITOR函数,但是在UTL_RAW包中有用      于RAW值的位操作符. CEIL(x)函

  • MySQL中的日期时间类型与格式化方式

    目录 [1]MySQL中的日期时间类型 ① 详细解释 ② SQL语句实例 ③ timestamp字段 ④ 测试实例 [2]日期时间类型格式化 ① DATE_FORMAT( )函数 ② date_format( ) 转换格式 ③ str_to_date()函数 [1]MySQL中的日期时间类型 MySQL中常用的几种时间类型有:date.datetime.time.year.timestamp 数据类型 占用字节 最小值 最大值 零值表示 date 4 1000-01-01 9999-12-31

  • 如何选择合适的MySQL日期时间类型来存储你的时间

    构建数据库写程序避免不了使用日期和时间,对于数据库来说,有多种日期时间字段可供选择,如 timestamp 和 datetime 以及使用 int 来存储 unix timestamp. 不仅新手,包括一些有经验的程序员还是比较迷茫,究竟我该用哪种类型来存储日期时间呢? 那我们就一步一步来分析他们的特点,这样我们根据自己的需求选择合适的字段类型来存储 (优点和缺点是比较出来的  , 跟父母从小喜欢拿邻居小孩子跟自己比一样的) datetime 和 timestamp datetime 更像日历上

  • VBS日期(时间)格式化函数代码

    核心代码 currentTimeStr1 = CStr(Year(Now()))&"-"&Right("0"&Month(Now()),2)&"-"&Right("0"&Day(Now()),2)&" "&Right("0"&Hour(Now()),2)&":"&Right(&qu

  • sql将时间类型转换为字符串类型汇总

    日期时间转字符串 复制代码 代码如下: Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06 Select C

  • 分享Sql日期时间格式转换

    Sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/ CONVERT(varchar(10), 时间一, 23) 结果:2007-02-01 /*varchar(10)表示日期输出的格式,如果不够长会发生截取*/ 语句及查询结果: 复制代码 代码如下: Select CONV

  • 在postgresql数据库中判断是否是数字和日期时间格式函数操作

    在编写GreenPlum函数的过程中,遇到要判断字符串是否是数字和日期格式的情况,基于GreenPlum和postgresql的亲缘关系,找到了下面两个函数. --1.判断字符串是否是数字 CREATE OR REPLACE FUNCTION isnumeric(txtStr VARCHAR) RETURNS BOOLEAN AS $$ BEGIN RETURN txtStr ~ '^([0-9]+[.]?[0-9]*|[.][0-9]+)$'; END; $$ LANGUAGE 'plpgsq

  • php 日期时间处理函数小结

    php 计算小时数并化整为零 复制代码 代码如下: /* Author: 杨宇 yangyu@sina.cn */ //参数$hours_min为数组,数组的格式为1:10,返回为1小时 /* 例如: $hours_min[0] = '1:10'; $hours_min[1] = '2:30'; echo hours_sum($hours_min); 输入为4,也就是合计4小时 */ function hours_sum($hours_min){ if (!is_array($hours_min

  • JavaScript日期时间格式化函数分享

    这个函数经常用到,分享给大家. 函数代码: 复制代码 代码如下: Date.prototype.format = function(format){    var o = {    "M+" : this.getMonth()+1, //month    "d+" : this.getDate(),    //day    "h+" : this.getHours(),   //hour    "m+" : this.getM

随机推荐