ORACLE 常用函数 日期/时间函数
---------------------------------------------日期/时间函数-----------------------------------------------
--1: SYSDATE
用来得到系统的当前日期 SELECT SYSDATE FROM DUAL; --2: ADD_MONTHS
增加或减去月份 SELECT TO_CHAR(ADD_MONTHS(TO_DATE('','YYYYMMDD'),2), 'YYYY-MM-DD') FROM DUAL; SELECT TO_CHAR(ADD_MONTHS(SYSDATE, -1), 'YYYY-MM-DD') FROM DUAL --3: LAST_DAY
返回日期的最后一天 SELECT LAST_DAY(SYSDATE) FROM DUAL; SELECT LAST_DAY(ADD_MONTHS(SYSDATE, -2)) FROM DUAL; --4: MONTHS_BETWEEN(date2,date1)
给出date2-date1的月份 --参数的格式需要注意 SELECT MONTHS_BETWEEN(TO_DATE('2011-05-03', 'YYYY-MM-DD'), TO_DATE('2011-01-23', 'YYYY-MM-DD')) FROM DUAL; SELECT MONTHS_BETWEEN('19-12月-1999','19-3月-1999') mon_between FROM DUAL; --SELECT MONTHS_BETWEEN('2011-1月-23', '2011-9月-1') FROM DUAL; 文字与格式字符串不匹配 --5: NEW_TIME(date,'this','that')
给出在this时区=other时区的日期和时间 SELECT TO_CHAR(SYSDATE, 'YYYY.MM.DD HH24:MI:SS') BeiJing_Time,
TO_CHAR(NEW_TIME(SYSDATE, 'PDT', 'GMT'), 'YYYY.MM.DD HH24:MI:SS') 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 YDT Yukon标准时间 --6: NEXT_DAY
返回与制定日期在同一个星期或之后一个星期内的,你所要求的星期天数的确切日期。 --星期日 = 1 星期一 = 2 星期二 = 3 星期三 = 4 星期四 = 5 星期五 = 6 星期六 = 7 SELECT NEXT_DAY(SYSDATE, 2) FROM DUAL; --7: CURRENT_DATE
当前会话时区中的当前日期 SELECT CURRENT_DATE FROM DUAL; --8: CURRENT_TIMESTAMP
以timestamp with time zone数据类型返回当前会话时区中的当前日期 SELECT CURRENT_TIMESTAMP FROM DUAL; --9: DBTIMEZONE()
返回时区 SELECT DBTIMEZONE FROM DUAL; --10: SESSIONTIMEZONE
返回回话时区 其中DBTIMEZONE是数据库的,session是针对当前会话的,因为时区在会话级可以改变 SELECT SESSIONTIMEZONE FROM DUAL; ALTER SESSION SET TIME_ZONE = '8:00'; SELECT SESSIONTIMEZONE FROM DUAL; --11:EXTRACT
找出日期或间隔值的字段值 SELECT EXTRACT(MONTH FROM SYSDATE) "MONTH" FROM DUAL; SELECT EXTRACT(DAY FROM SYSDATE) AS "DAY" FROM DUAL; SELECT EXTRACT(YEAR FROM SYSDATE) AS "YEAR" FROM DUAL; --12:LOCALTIMESTAMP
返回会话中的日期和时间 SELECT LOCALTIMESTAMP FROM DUAL; --13: TRUNC(for dates) TRUNC函数为指定元素而截去的日期值。 其具体的语法格式如下: TRUNC(date[,fmt]) 其中: date 一个日期值 fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去 下面是该函数的使用情况: TRUNC(TO_DATE('24-Nov-1999 08:00 pm'),'dd-mon-yyyy hh:mi am') ='24-Nov-1999 12:00:00 am' TRUNC(TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh:mi am'),'hh') ='24-Nov-1999 08:00:00 am' SELECT TRUNC(SYSDATE,'YYYY') FROM DUAL; --返回当年第一天. SELECT TRUNC(SYSDATE,'MM') FROM DUAL; --返回当月第一天. SELECT TRUNC(SYSDATE,'D') FROM DUAL; --返回当前星期的第一天. SELECT TRUNC(SYSDATE,'DD') FROM DUAL;--返回当前年月日
---- 上月最后一天 SELECT TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE, -1)), 'YYYY/MM/DD') FROM DUAL; ----: 上各月的今天
SELECT TO_CHAR(ADD_MONTHS(SYSDATE, -1), 'YYYY-MM-DD') FROM DUAL; ---- 上个月第一天 SELECT TO_CHAR(ADD_MONTHS(LAST_DAY(SYSDATE)+1,-2),'YYYY-MM-DD') FirstDay FROM DUAL; --- 按照每周进行统计 SELECT TO_CHAR(SYSDATE, 'WW') FROM DUAL; --- 按照每月进行统计 SELECT TO_CHAR(SYSDATE, 'MM') FROM DUAL; ---- 按照每季度进行统计 SELECT TO_CHAR(SYSDATE, 'Q') FROM DUAL; --- 按照每年进行统计 SELECT TO_CHAR(SYSDATE, 'YYYY') FROM DUAL; --- 要找到某月中所有周五的具体日期 SELECT TO_CHAR(T.D, 'YY-MM-DD')
FROM
(
SELECT TRUNC(SYSDATE, 'MM') + ROWNUM -1 AS D
FROM DBA_OBJECTS
WHERE ROWNUM < 32
) T
WHERE TO_CHAR(T.D, 'MM') = TO_CHAR(SYSDATE, 'MM')
AND TRIM(TO_CHAR(T.D, 'DAY')) = '星期五' 下面的内容应该属于格式化函数,但是为了对日期函数做详细叙述,就把TO_CHAR的内容放到这里了 Y或YY或YYY 年的最后一位,两位或三位
SELECT TO_CHAR(SYSDATE, 'YYY') FROM DUAL;
SELECT TO_CHAR(SYSDATE, 'YY') FROM DUAL; SYEAR或YEAR SYEAR使公元前的年份前加一负号
SELECT TO_CHAR(SYSDATE, 'SYEAR') FROM DUAL; --TWENTY ELEVEN Q 季度,1~3月为第一季度
SELECT TO_CHAR(SYSDATE, 'Q') FROM DUAL; -- 2表示第二季度 MM 月份数
SELECT TO_CHAR(SYSDATE, 'MM') FROM DUAL; --04表示4月 RM 月份的罗马表示
SELECT TO_CHAR(SYSDATE, 'RM') FROM DUAL; --IV表示4月 Month 用9个字符长度表示的月份名
SELECT TO_CHAR(SYSDATE, 'MONTH') FROM DUAL; -- 4月 WW 当年第几周
SELECT TO_CHAR(SYSDATE, 'WW') FROM DUAL; -- 24表示2002年6月13日为第24周 W 本月第几周
SELECT TO_CHAR(SYSDATE, 'W') FROM DUAL; -- 2011年04月26日为第4周 DDD 当年第几天. 1月1日为001,2月1日为032
SELECT TO_CHAR(SYSDATE, 'DDD') FROM DUAL; DD 当月第几天
SELECT TO_CHAR(SYSDATE, 'DD') FROM DUAL; D 周内第几天
SELECT TO_CHAR(SYSDATE, 'D') FROM DUAL; DY 周内第几天缩写
SELECT TO_CHAR(SYSDATE, 'DY') FROM DUAL; HH或HH12 12进制小时数
SELECT TO_CHAR(SYSDATE, 'HH') FROM DUAL; HH24 24小时制
SELECT TO_CHAR(SYSDATE, 'HH24') FROM DUAL; MI 分钟数(0~59)
SELECT TO_CHAR(SYSDATE, 'MI') FROM DUAL;
提示注意不要将MM格式用于分钟(分钟应该使用MI)。MM是用于月份的格式,将它用于分钟也能工作,但结果是错误的。 SS 秒数(0~59)
SELECT TO_CHAR(SYSDATE, 'SS') FROM DUAL; --------------------------------------------------------------------------------------
ORACLE 常用函数 日期/时间函数的更多相关文章
- [转]ORACLE日期时间函数大全
本文转自:http://www.cnblogs.com/chuncn/archive/2009/04/29/1381282.html ORACLE日期时间函数大全 TO_DATE格式(以时间: ::2 ...
- [转载]ORACLE日期时间函数大全
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 ...
- ORACLE日期时间函数
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 ...
- mysql与oracle的日期/时间函数小结
前言 本文的日期/时间全部格式化为”2016-01-01 01:01:01“形式: MONITOR_TIME为数据库表字段: 字符串与日期/时间相互转换函数 Oracle 日期/时间转字符串函数:to ...
- Oracle日期时间函数大全
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits ...
- oracle日期时间函数总结
常常写 sql 的同学应该会接触到一些 oracle 的日期时间函数, 比如: 財务软件或者人力资源软件须要依照每年, 每季度, 每月, 甚至每一个星期来进行统计. 今天闲来没事, 特意从网上整理了一 ...
- oracle 日期时间函数
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 ...
- go日期时间函数+常用内建函数+错误处理
日期时间函数 // 时间日期函数包 import "time" // 1. 当前时间 time.Now()-->time.Time类型 // 2. now:=time.Now ...
- ORACLE常用数值函数、转换函数、字符串函数介绍
ORACLE常用数值函数.转换函数.字符串函数介绍. 数值函数: abs(m) m的绝对值 mod(m,n) m被n除后的余数 power(m,n) m的n次方 round(m[,n]) m四舍五入至 ...
随机推荐
- 探索javascript----获得节点计算后样式
节点计算后样式是一个属性与属性值的值对对象: IE: node.currentStyle; 非IE: window.getComputedStyle(node,null); 兼容方式: func ...
- CSS中相对定位与绝对定位
看了几个讲解定位的博客,觉得还不错,分享之: 博客一:http://blog.sina.com.cn/s/blog_4bcf4a5e010008o0.html 文章中,主要需要参考的有两点: 1,相对 ...
- C# 不同版本切版时,方法不支持,加载对应dll, 相关Dll的资源
不过,有些高版本有的DLL,低版本运行时,需要引用相关DLL.我们不用在网上去下载 下面的路径,查找对应版本下的DLL,可能会给你意想不到的收获哦 C:\Program Files\Reference ...
- Asp.net中Json的序列化和反序列化(二)
三.JSON序列化和反序列化日期时间的处理 JSON格式不直接支持日期和时间.DateTime值值显示为“/Date(700000+0500)/”形式的JSON字符串,其中第一个数字(在提供的示例中 ...
- Centos搭建SVN服务器三步曲
搭建SVN服务,有效的管理代码,以下三步可以快速搞定.1.安装 #yum install subversion 判断是否安装成功#subversion -v svnserve, version 1.6 ...
- Linux中查看文件编码
在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:set fileencoding即可显示文件编码格式.如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱 ...
- 在线聊天室的实现(1)--websocket协议和javascript版的api
前言: 大家刚学socket编程的时候, 往往以聊天室作为学习DEMO, 实现简单且上手容易. 该Demo被不同语言实现和演绎, 网上相关资料亦不胜枚举. 以至于很多技术书籍在讲解网络相关的编程时, ...
- css transform skew变换
两个参数,x-保持纵坐标不变,所有点旋转逆时针旋转x度,y-横坐标不变所有点顺时针旋转y度
- passing argument 3 of ‘wtk_hlv_rec_init’ discards ‘const’ qualifier from pointer target type
-Werror,编译出现如下错误: src/wtk/exam/wtk_ndx.c:154:6: error: passing argument 3 of ‘wtk_hlv_rec_init’ disc ...
- WTL编程小技巧汇编
1.设置窗体生成大小并中央显示窗口 2.设置窗体最大/小尺寸 3.动态设置窗体标题 4.设置对话框的字体和背景颜色 5.设置窗体控件默认字体 以下技巧可应用于SDI和MDI程序: 1.设置窗体生成大小 ...