1、 SYSTATE

用来返回系统当前时间

SQL> select sysdate from dual;

SYSDATE
-------------------
2017-03-03 09:49:25

2、 ADD_MONTHS

语法: ADD_MONTHS(date,integer)

用于从一个日期值增加或减少一些月份

1) 返回系统时间一个月后的日期

SQL> select sysdate,add_months(sysdate,1) as "months+1" from dual;

SYSDATE             months+1

------------------- -------------------
2017-03-03 09:52:43 2017-04-03 09:52:43

2) 返回系统时间一年后的日期

SQL> select sysdate,add_months(sysdate,12) as "months+12" from dual;

SYSDATE             months+12
------------------- -------------------
2017-03-03 09:53:57 2018-03-03 09:53:57

3) 返回指定时间1月后的日期

SQL> select add_months('20170102',1) from dual;

ADD_MONTHS('2017010
-------------------
2017-02-02 00:00:00

3、 LAST_DAY

语法: LAST_DAY(date)

返回包含了日期参数的月份的最后一天的日期

SQL> select sysdate,last_day(sysdate) "last" from dual;

SYSDATE             last
------------------- -------------------
2017-03-03 14:52:27 2017-03-31 14:52:27

4、 CURRENT_DATE

返回当前会话时区中的当前日期

SQL> select dbtimezone,sessiontimezone,current_date from dual;

DBTIME SESSIONTIM CURRENT_DATE
------ ---------- -------------------
+00:00 +08:00     2017-03-03 14:55:06

5、 MONTHS_BETWEEN

语法:MONTHS_BETWEEN(date1,date2)

返回两个日期之间的月份数

SQL> select months_between('20110301','20110201') as mb from dual;

MB
----------
         1

6、 NEXT_DAY

语法:NEXT_DAY(date,char)

返回由第二个参数指出的日子第一次出现的日期值

SQL> select next_day('2017-3-3','Friday') "next day" from dual;

next day
-------------------
2017-03-10 00:00:00

SQL> select next_day('2017-3-3',6) "next day" from dual;

next day
-------------------
2017-03-10 00:00:00

注: 1-7:代表周日-周六。

7、 TRUNC

语法:TRUNC(date,fmt)

按照给出的要求将日期截断

1) trunc函数处理日期,没有fmt参数,默认截取到日

SQL> select trunc(sysdate) from dual;

TRUNC(SYSDATE)
-------------------
2017-03-03 00:00:00

2) 时间截取到小时,分钟

SQL> select trunc(sysdate,'hh') "hh",trunc(sysdate,'mi') "mi" from dual;

hh                  mi
------------------- -------------------
2017-03-03 15:00:00 2017-03-03 15:34:00

3) 返回本周周一

SQL> select trunc(sysdate,'iw') from dual;

TRUNC(SYSDATE,'IW')
-------------------
2017-02-27 00:00:00

4) 返回本周周日

SQL> select trunc(to_date('2008.08.08','yyyy.mi,ss'),'d') from dual;

TRUNC(TO_DATE('2008
-------------------
2008-02-24 00:00:00

8、 ROUND

SQL> select round(dd,'month'),round(dd,'year'),trunc(dd,'month'),trunc(dd,'year') from
  2  (select to_date('2008-08-15','yyyy-mm-dd')as dd from dual);

ROUND(DD,'MONTH')   ROUND(DD,'YEAR')    TRUNC(DD,'MONTH')   TRUNC(DD,'YEAR')
------------------- ------------------- ------------------- -------------------
2008-08-01 00:00:00 2009-01-01 00:00:00 2008-08-01 00:00:00 2008-01-01 00:00:00

【SQL】日期型函数的更多相关文章

  1. DB2 SQL 日期函数

    DB2 SQL 日期函数1:CURRENT TIMESTAMP 函数:获取当前日期时间语法:CURRENT TIMESTAMP参数:当前日期时间返回值:当前日期时间 2:CURRENT DATE 函数 ...

  2. oracle sql日期比较

    oracle sql日期比较:在今天之前: select * from up_date where update < to_date('2007-09-07 00:00:00','yyyy-mm ...

  3. Sql日期时间格式转换;取年 月 日,函数:DateName()、DATEPART()

    一.sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007 ...

  4. sql 日期时间格式转换

    Sql日期时间格式转换   sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, ...

  5. sql日期

    当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配. 只要您的数据包含的只是日期部分,运行查询就不会出问题.但是,如果涉及时间部分,情况就有点复杂了. 在讨论日期查 ...

  6. Sql日期时间格式转换大全

    简介:我们经常会用到sql日期转换,这里列出了日期输出为字符串的所有代码 输出格式 2014-06-12 ), ) 输出格式 2014-06-12 22:31:18 ), ) 以下是各种转换日期代码号 ...

  7. SQL显示某月全部日期明细以及SQL日期格式

    SQL显示某月全部日期明细<存储过程> 方法一: declare @date datetime declare @end datetime ,getdate()) ,@date) crea ...

  8. SQL日期时间函数

    一.Sql Server中的日期与时间函数 1. 当前系统日期.时间  select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值  例如 ...

  9. sql日期比较

    sql 中 datetime日期类型字段比较 mysql 可以直接用大于号,也可以用  between  and SELECT * FROM staff WHERE UPDATE_DATE >= ...

  10. SQL——SQL日期

    SQL日期    MySQL:        NOW() 返回当前的日期和时间        CURDATE() 返回当前的日期        CURTIME() 返回当前的时间        DAT ...

随机推荐

  1. MySQL(端口3306)

    MySQL(二进制)安装: 下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.49-linux2.6-x86_64.tar.gz ...

  2. python下操作mysql 之 pymsql

    python下操作mysql  之  pymsql pymsql是Python中操作MySQL的模块, 下载安装: pip3 install pymysql 使用操作 1, 执行SQL #!/usr/ ...

  3. BZOJ 1602 USACO 2008 Oct. 牧场行走

    [题解] 要求出树上两点间的距离,树上的边有边权,本来应该是个LCA. 看他数据小,Xjb水过去了...其实也算是LCA吧,一个O(n)的LCA... #include<cstdio> # ...

  4. vim学习1-入门指令

    使用vim命令进入vim界面 vim后面加上你要打开的已存在的文件名或者不存在(则作为新建文件)的文件名. 打开Xfce终端,输入以下命令 $ vim practice_1.txt 直接使用vim也可 ...

  5. play snake on windows

    今天和人吃晚饭突然想起来 之前西佳佳老师说小学期会要求两星期撸一个小游戏 有人已经撸完一个俄罗斯方块了... 菜逼我决定从最简单的贪吃蛇玩起... 我是直接参考的这个博客 算是相当简单而且很Low的实 ...

  6. HDU 3401 Trade

    Trade Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ID: 3401 ...

  7. 关于单CPU,多CPU上的原子操作

    所谓原子操作,就是"不可中断的一个或一系列操作" . 硬件级的原子操作:在单处理器系统(UniProcessor)中,能够在单条指令中完成的操作都可以认为是" 原子操作& ...

  8. du 和 df的不同

    http://blog.sina.com.cn/s/blog_9c8286b7010108aj.html du和df命令都被用于获得文件系统大小的信息:df用于报告文件系统的总块数及剩余块数,du - ...

  9. PHP array_combine()

    定义和用法 array_combine() 函数通过合并两个数组来创建一个新数组,其中的第一个数组是键(索引),第二个数组为值. 如果其中一个数组为空,或者两个数组的长度不同,则该函数返回 false ...

  10. HDU 5431

    由于最长不超过30个字符(由K的范围确定),于是,枚举所有的字符串,二分中使用二分就可以确定第K小了. #include <iostream> #include <cstdio> ...