ORACLE 常用函数——日期/时间函数

前端之家收集整理的这篇文章主要介绍了ORACLE 常用函数——日期/时间函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
- -------------------------------------------日期/时间函数-----------------------------------------------
--
1:SYSDATE
用来得到系统的当前日期

SELECT SYSDATE FROM DUAL;



-- 2:ADD_MONTHS
增加或减去月份

SELECT TO_CHAR(ADD_MONTHS(TO_DATE( ' 20080818 ' , YYYYMMDD ' ), 2 ),0); line-height:1.5!important">YYYY-MM-DD ' ) FROM DUAL;


SELECT TO_CHAR(ADD_MONTHS(SYSDATE,128); line-height:1.5!important">- 1 ),255); line-height:1.5!important">FROM DUAL


3:LAST_DAY
返回日期的最后一天

SELECT LAST_DAY(SYSDATE) FROM DUAL;

SELECT LAST_DAY(ADD_MONTHS(SYSDATE,0); line-height:1.5!important">2 )) 4:MONTHS_BETWEEN(date2,date1)
给出date2 - date1的月份

参数的格式需要注意

SELECT MONTHS_BETWEEN(TO_DATE( 2011-05-03 2011-01-23 ' )) SELECT MONTHS_BETWEEN( 19-12月-1999 19-3月-1999 ' )mon_between SELECTMONTHS_BETWEEN('2011-1月-23','2011-9月-1')FROMDUAL;文字与格式字符串不匹配


5:NEW_TIME(date,'this','that')
给出在this时区 = other时区的日期和时间

SELECT TO_CHAR(SYSDATE,0); line-height:1.5!important">YYYY.MM.DDHH24:MI:SS ' )BeiJing_Time,
TO_CHAR(NEW_TIME(SYSDATE,0); line-height:1.5!important">PDT
GMT ' )LOS_ANGELS FROM DUAL;


简写时区
AST
OR ADT大西洋标准时间
HST
OR HDT阿拉斯加—夏威夷时间
BST
OR BDT英国夏令时
MST
OR MDT美国山区时间
CST
OR CDT美国中央时区
NST新大陆标准时间
EST
OR EDT美国东部时间
PST
OR PDT太平洋标准时间
GMT格伦威治标准时间
YST
OR YDTYukon标准时间

6:NEXT_DAY
返回与制定日期在同一个星期或之后一个星期内的,你所要求的星期天数的确切日期。


星期日=1星期一=2星期二=3星期三=4星期四=5星期五=6星期六=7 SELECT NEXT_DAY(SYSDATE,0); line-height:1.5!important">2 ) 7:CURRENT_DATE
当前会话时区中的当前日期

SELECT CURRENT_DATE 8:CURRENT_TIMESTAMP
以timestamp with timezone数据类型返回当前会话时区中的当前日期


SELECT CURRENT_TIMESTAMP 9:DBTIMEZONE()
返回时区

SELECT DBTIMEZONE 10:SESSIONTIMEZONE
返回回话时区其中DBTIMEZONE是数据库的,session是针对当前会话的,因为时区在会话级可以改变

SELECT SESSIONTIMEZONE ALTER SESSION SET TIME_ZONE = 8:00 ' ;

11:EXTRACT
找出日期或间隔值的字段值

SELECT EXTRACT( MONTH FROM SYSDATE)" MONTH " DAY FROM SYSDATE) AS " DAY " YEAR YEAR " 12:LOCALTIMESTAMP
返回会话中的日期和时间

SELECT LOCALTIMESTAMP FROM DUAL;

@H_502_425@
--13: TRUNC(for dates) @H_502_425@
@H_502_425@
  TRUNC函数为指定元素而截去的日期值。 @H_502_425@
@H_502_425@
  其具体的语法格式如下: @H_502_425@
@H_502_425@
  TRUNC(date[,fmt]) @H_502_425@
@H_502_425@
  其中: @H_502_425@
@H_502_425@
  date 一个日期值 @H_502_425@
@H_502_425@
  fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去 @H_502_425@
@H_502_425@
  下面是该函数的使用情况: @H_502_425@
@H_502_425@
  TRUNC(TO_DATE('24-Nov-1999 08:00 pm'),'dd-mon-yyyy hh:mi am') @H_502_425@
@H_502_425@
  ='24-Nov-1999 12:00:00 am' @H_502_425@
@H_502_425@
  TRUNC(TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh:mi am'),'hh') ='24-Nov-1999 08:00:00 am' @H_502_425@
@H_502_425@
  SELECT TRUNC(SYSDATE,'YYYY') FROM DUAL; --返回当年第一天. @H_502_425@
@H_502_425@
  SELECT TRUNC(SYSDATE,'MM') FROM DUAL; --返回当月第一天. @H_502_425@
@H_502_425@
  SELECT TRUNC(SYSDATE,'D') FROM DUAL; --返回当前星期的第一天. @H_502_425@
@H_502_425@
  SELECT TRUNC(SYSDATE,'DD') FROM DUAL;--返回当前年月日 @H_502_425@ @H_502_425@
--上月最后一天 SELECT TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE,0); line-height:1.5!important">1 )),0); line-height:1.5!important">YYYY/MM/DD --:上各月的今天
--上个月第一天 SELECT TO_CHAR(ADD_MONTHS(LAST_DAY(SYSDATE) + 1 ,0); line-height:1.5!important">' )FirstDay -按照每周进行统计 WW -按照每月进行统计 MM --按照每季度进行统计 Q -按照每年进行统计 YYYY -要找到某月中所有周五的具体日期 SELECT TO_CHAR(T.D,0); line-height:1.5!important">YY-MM-DD ' )
FROM
(
SELECT TRUNC(SYSDATE,0); line-height:1.5!important">' ) + ROWNUM 1 AS D
FROM DBA_OBJECTS
WHERE ROWNUM < 32
)T
WHERE TO_CHAR(T.D,128); line-height:1.5!important">= TO_CHAR(SYSDATE,0); line-height:1.5!important">' )
AND TRIM(TO_CHAR(T.D,0); line-height:1.5!important">DAY ' )) 星期五 '


下面的内容应该属于格式化函数,但是为了对日期函数做详细叙述,就把TO_CHAR的内容放到这里了

Y或YY或YYY年的最后一位,两位或三位
YYY FROM DUAL;
YY FROM DUAL;

SYEAR或YEARSYEAR使公元前的年份前加一负号
SYEAR FROM DUAL; TWENTYELEVEN


Q季度,
1 ~3月为第一季度
2表示第二季度

MM月份数
04表示4月

RM月份的罗马表示
RM IV表示4月

Month 用9个字符长度表示的月份名
MONTH 4月

WW当年第几周
24表示2002年6月13日为第24周

W本月第几周
W 2011年04月26日为第4周

DDD当年第几天.1月1日为001,2月1日为032
DDD FROM DUAL;

DD当月第几天
DD FROM DUAL;

D周内第几天
D FROM DUAL;

DY周内第几天缩写
DY FROM DUAL;

HH或HH1212进制小时数
HH FROM DUAL;

HH2424小时制
HH24 FROM DUAL;

MI分钟数(
0 59 )
MI FROM DUAL;
提示注意不要将MM格式用于分钟(分钟应该使用MI)。MM是用于月份的格式,将它用于分钟也能工作,但结果是错误的。

SS秒数(
SS ------------------------------------------------------------------------------------

猜你在找的Oracle相关文章