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. 37.分组聚合操作—其他metric

    课程大纲     要学其他的metric(count,avg,max,min,sum) count:bucket,terms,自动就会有一个doc_count,就相当于是count avg:avg a ...

  2. 【模板】最小生成树Kruskal

    洛谷3366 #include<cstdio> #include<algorithm> using namespace std; ,maxm=; ,ans=; struct e ...

  3. PAT 1091. Acute Stroke (bfs)

    One important factor to identify acute stroke (急性脑卒中) is the volume of the stroke core. Given the re ...

  4. GeoTrust 企业(OV)型 增强版(EV) SSL证书

      GeoTrust 企业(OV)型 增强版(EV) SSL证书(GeoTrust True BusinessID with EV SSL Certificates),验证域名所有权,更严格的验证企业 ...

  5. redis学习三,Redis主从复制和哨兵模式

    Redis主从复制 java架构师项目实战,高并发集群分布式,大数据高可用,视频教程 1.Master可以拥有多个slave 2.多个slave可以连接同一个Master外,还可以连接到其他的slav ...

  6. [luoguP1816] 忠诚(st表 || 线段树)

    传送门 其实我就是想练练 st表 本以为学了线段树可以省点事不学 st表 了 但是后缀数组中用 st表 貌似很方便 所以还是学了吧,反正也不难 ——代码 #include <cstdio> ...

  7. Django获取当前页面的URL——小记

    获取带参数URL:request.get_all_path() 获取不带参数URL:request.path 获取主机地址:request.get_host()

  8. 51Nod——T 1109 01组成的N的倍数

    https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1109 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 ...

  9. asciiflow

    http://asciiflow.com/ https://maxiang.io/# http://www.jianshu.com/p/19432b5e3c60

  10. Clojure:日期操作方法

    ;; 日期格式转换 (def df (java.text.SimpleDateFormat. "yyyy-MM-dd hh:mm:ss")) ;; 字符串转换到日期 (defn s ...