日期函数

SYSDATE

--当前系统时间
select sysdate from dual;

EXTRACT

--获取当前年份
select extract(year from sysdate) from dual; --年
select extract(month from sysdate) from dual; --月
select extract(day from sysdate) from dual; --日

TO_DATE

--将字符串转换为日期
SELECT TO_DATE('2014-12-31', 'yyyy-mm-dd') FROM DUAL;
SELECT TO_DATE('2014-12-31 15:20:45', 'yyyy-mm-dd hh24:mi:ss') FROM DUAL;
SELECT TO_DATE('2014年12月31日', 'yyyy"年"mm"月"dd"日') AS T FROM DUAL;
--两个日期间的天数
SELECT FLOOR(SYSDATE - TO_DATE('', 'yyyymmdd')) FROM DUAL;

TO_DATE格式(以时间:2007-11-02 13:45:25为例)

类别

格式

说明

Year

yy

two digits 两位年

07

yyy

three digits 三位年

007

yyyy

four digits 四位年

2007

Month

mm

number 两位月

11

mon

abbreviated 字符集表示

11月,若是英文版,显示nov

month

spelled out 字符集表示

若是英文版,显示november

Day:

dd

number当月第几天

02

ddd

number当年第几天

02

dy

abbreviated 当周第几天简写

星期五,若是英文版,显示fri

day  

spelled out 当周第几天全写

星期五,若是英文版,显示friday

Hour:

hh

two digits 12小时进制

01

hh24

two digits 24小时进制

13

Minute

mi

two digits 60进制

45

Second

ss

two digits 60进制

25

其他:

Q

digit季度

4

WW digit 当年第几周 44
W digit 当月第几周 1

TO_CHAR

SELECT TO_CHAR(SYSDATE, 'yyyy-mm-dd hh24:mi:ss') AS NOWTIME FROM DUAL; --日期转化为字符串
SELECT TO_CHAR(SYSDATE, 'yyyy') AS NOWYEAR FROM DUAL; --获取时间的年
SELECT TO_CHAR(SYSDATE, 'mm') AS NOWMONTH FROM DUAL; --获取时间的月
SELECT TO_CHAR(SYSDATE, 'dd') AS NOWDAY FROM DUAL; --获取时间的日
SELECT TO_CHAR(SYSDATE, 'hh24') AS NOWHOUR FROM DUAL; --获取时间的时
SELECT TO_CHAR(SYSDATE, 'mi') AS NOWMINUTE FROM DUAL; --获取时间的分
SELECT TO_CHAR(SYSDATE, 'ss') AS NOWSECOND FROM DUAL; --获取时间的秒
SELECT TO_CHAR(SYSDATE, 'yyyy"年"mm"月"dd"日') AS T FROM DUAL; --带中文的时间格式

MONTHS_BETWEEN(date1,date2)

--计算两个日期之间的月份差
select months_between('1-1月-2014', '31-12月-2014') from dual;
结果:-11.9677419354839

ADD_MONTHS(date,month)

--月份的添加,2014-5-20后的3个月
select add_months('20-5月-2014', 3) from dual;
结果:2014/8/20 --月份的添加,2014-5-20前的3个月
select add_months('20-5月-2014', -3) from dual;
结果:2014/2/20

NEXT_DAY(date,week)

--返回指定日期后的星期,返回今天后的下一个星期六是多少号
select next_day(sysdate, '星期六') from dual;

LAST_DAY

--返回指定日期所在月的最后一天
select last_day(sysdate) from dual;

ROUND

--按照指定格式对日期进行四舍五入
select round(sysdate, 'year') from dual; --按照年
select round(sysdate, 'month') from dual; --按照月
select round(to_date('2014-11-16', 'yyyy-mm-dd'), 'day') from dual; --按照星期
select round(to_date('2014-11-16', 'yyyy-mm-dd'), 'dd') from dual; --按照日期

Oracle基础 (十三)日期函数的更多相关文章

  1. [php基础]Mysql日期函数:日期时间格式转换函数详解

    在PHP网站开发中,Mysql数据库设计中日期时间字段必不可少,由于Mysql日期函数输出的日期格式与PHP日期函数之间的日期格式兼容性不够,这就需要根据网站实际情况使用Mysql或PHP日期转换函数 ...

  2. Oracle数据库之日期函数

    今天给大家介绍一下oracle数据中的日期函数的用法.废话不多说,我们看一下oracle给我们提供了那些函数? 1.sysdate 用途:获取当前系统时间. 2.to_date('字符类型','日期类 ...

  3. oracle中的日期函数的使用

    TO_DATE格式(以时间:2007-11-02   13:45:25为例) Year:               yy two digits 两位年                显示值:07   ...

  4. MYSQL基础03(日期函数)

    工作中对日期的处理是经常遇到的,需求可能多种多样,因此重点介绍. 1.获取当前日期 select NOW() -- 结果:2015-10-28 22:41:11 ),NOW() -- 结果 2015- ...

  5. Oracle中的日期函数

    (一)查询系统的当前日期用sysdate,用法如下: select sysdate from dual 日期操作的三个格式: 日期-数字=日期 日期+=日期 日期-日期=数字(天数) (二)常用的日期 ...

  6. [转] SQL日期函数dayadd/datediff/datepart

    函数一: CREATE OR REPLACE FUNCTION dayadd(p_Component varchar2, p_Number number, p_Date date) RETURN DA ...

  7. oracle逐步学习总结之oracle数字函数和日期函数(基础四)

    原创作品,转自请注明出处:https://www.cnblogs.com/sunshine5683/p/10140716.html 继上篇总结,继续进行总结: 以下下数字函数: 1.abs(n):返回 ...

  8. Oracle的学习三:java连接Oracle、事务、内置函数、日期函数、转换函数、系统函数

    1.java程序操作Oracle java连接Oracle JDBC_ODBC桥连接 1.加载驱动: Class.forName("sun.jdbc.odbc.JdbcodbcDriver& ...

  9. 【函数】Oracle函数系列(2)--数学函数及日期函数

    [函数]Oracle函数系列(2)--数学函数及日期函数 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不 ...

随机推荐

  1. hdu1753I Hate It(线段树)

    http://acm.hdu.edu.cn/showproblem.php?pid=1754 单点更新,区间求最值 // File Name: hdu1754.cpp // Author: bo_jw ...

  2. CodeForces 702B Powers of Two (暴力,优化)

    题意:给定 n 个数,问你从有多少下标 i < j,并且 ai + aj 是2的倍数. 析:方法一: 从输入开始暴力,因为 i < j 和 i > j 是一样,所以可以从前面就开始查 ...

  3. How Tomcat Works(十八)

    在前面的文章中,如果我们要启动tomcat容器,我们需要使用Bootstrap类来实例化连接器.servlet容器.Wrapper实例和其他组件,然后调用各个对象的set方法将它们关联起来:这种配置应 ...

  4. thinkPHP 无法create,无法插入数据,提示非法数据对象

    4.thinkPHP 无法create,提示非法数据对象解决方法:不要create+add,而用 data[]= '';+add$m_r_fa_account = D('R_fa_account'); ...

  5. 在CentOS 5.8上搭建PPTP VPN服务

    在天朝上网,vpn已经是必备之物了,我也记录一下搭建vpn服务的方法. 1. 确认内核是否支持MPPE模块MPPE用来支持Microsoft Point to Point Encryption, 包括 ...

  6. C++静态成员函数小结 [转]

    类中的静态成员真是个让人爱恨交加的特性.我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动. 静态类成员包括静态数据成员和静态函数成员两部分. 一 静态数据成员: 类体中 ...

  7. 跟SAP系统集成的Android应用

    首先吐槽一点,这是我的第一个Android应用,很糙. 这个应用适合于上了SAP系统的企业内部使用,并且限于制造型MTO模式,需要针对生产订单报工操作的场景,因为此应用主要的一个目的,就是用来方便报工 ...

  8. MFC中显示 .bmp格式的位图

    最近在看VisualC++ 图像处理的书籍,表示一直在从基础做起,今天就记录一个简单功能的实现,显示.bmp格式的位图. 首先需要理解的是窗口创建的过程包括两个步骤:首先擦除窗口的背景,然后在对窗口进 ...

  9. li下用了浮动IE6的问题

    li下用了浮动IE6的问题 直接看HTML <ul> <li><a href="#" target="_blank">沃尔沃 ...

  10. Java常见排序算法之堆排序

    在学习算法的过程中,我们难免会接触很多和排序相关的算法.总而言之,对于任何编程人员来说,基本的排序算法是必须要掌握的. 从今天开始,我们将要进行基本的排序算法的讲解.Are you ready?Let ...