【SQL】日期型函数
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】日期型函数的更多相关文章
- DB2 SQL 日期函数
DB2 SQL 日期函数1:CURRENT TIMESTAMP 函数:获取当前日期时间语法:CURRENT TIMESTAMP参数:当前日期时间返回值:当前日期时间 2:CURRENT DATE 函数 ...
- oracle sql日期比较
oracle sql日期比较:在今天之前: select * from up_date where update < to_date('2007-09-07 00:00:00','yyyy-mm ...
- Sql日期时间格式转换;取年 月 日,函数:DateName()、DATEPART()
一.sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007 ...
- sql 日期时间格式转换
Sql日期时间格式转换 sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, ...
- sql日期
当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配. 只要您的数据包含的只是日期部分,运行查询就不会出问题.但是,如果涉及时间部分,情况就有点复杂了. 在讨论日期查 ...
- Sql日期时间格式转换大全
简介:我们经常会用到sql日期转换,这里列出了日期输出为字符串的所有代码 输出格式 2014-06-12 ), ) 输出格式 2014-06-12 22:31:18 ), ) 以下是各种转换日期代码号 ...
- SQL显示某月全部日期明细以及SQL日期格式
SQL显示某月全部日期明细<存储过程> 方法一: declare @date datetime declare @end datetime ,getdate()) ,@date) crea ...
- SQL日期时间函数
一.Sql Server中的日期与时间函数 1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如 ...
- sql日期比较
sql 中 datetime日期类型字段比较 mysql 可以直接用大于号,也可以用 between and SELECT * FROM staff WHERE UPDATE_DATE >= ...
- SQL——SQL日期
SQL日期 MySQL: NOW() 返回当前的日期和时间 CURDATE() 返回当前的日期 CURTIME() 返回当前的时间 DAT ...
随机推荐
- jQuery匹配id 批量修改css属性
<ul id="foreignCurrencyTree_1_ul"> <li id="foreignCurrencyTree_11_li"&g ...
- Django基础配置
安装djangopip install Django==1.11.4进入pythonimport django查看版本号django.get_version()创建项目,在合适位置创建一个目录进入你要 ...
- Java基础学习总结(71)——深入理解Java虚拟机内存
Java虚拟机中的内存分配图 : 各个区域的特性总结如下表: 补充说明: 当多线程情形下,可能多个线程要在堆上分配内存,那么可能出现内存分配的同步问题,解决方案有两个,一个就是同步内存分配动作:另一个 ...
- CodeForces - 357D - Xenia and Hamming
先上题目: D. Xenia and Hamming time limit per test 1 second memory limit per test 256 megabytes input st ...
- [poj1698]Alice's Chance[网络流]
[转]原文:http://blog.csdn.net/wangjian8006/article/details/7926040 题目大意:爱丽丝要拍电影,有n部电影,规定爱丽丝每部电影在每个礼拜只有固 ...
- C. Vladik and Memorable Trip DP
C. Vladik and Memorable Trip time limit per test 2 seconds memory limit per test 256 megabytes input ...
- 子序列 NYOJ (尺取法+队列+hash) (尺取法+离散化)
子序列 时间限制:3000 ms | 内存限制:65535 KB 难度:5 描述 给定一个序列,请你求出该序列的一个连续的子序列,使原串中出现的所有元素皆在该子序列中出现过至少1次. 如2 8 ...
- ERROR: mount point </.alt.rootd3_EISMar14/opt/oracle/product/10.2> is already in use
在给solaris系统升级的时候,用lu方法遇到下面的错误. -bash-3.2# lumount rootd3_EISMar14 ERROR: mount point </.alt.rootd ...
- C++开发人脸性别识别总结
历时一个月,最终在昨天把<C++开发人脸性别识别总结>系列博客完毕了,第一篇博客发表在2015年12月29日,截止昨天2016年2月29日最后一篇完毕,去除中间一个月的寒假,正好一个月,首 ...
- Jmeter压测问题_Non HTTP response code: org.apache.http.conn.ConnectTimeoutException
负载机压测,线程500,服务器根本无压力,负载机本身发的请求都是失败的 Sample result如下: Thread Name: 考勤(考勤提交) 1-134 Sample Start: 2018- ...