SQL Server日期时间加减函数(DATEDIFF、DateAdd)的使用
更新时间:2023年10月27日 16:37:10 作者:拾亿-唯一
日期时间是常用的函数,本文主要介绍了SQL Server日期时间加减函数(DATEDIFF、DateAdd)的使用,感兴趣的可以了解一下
一、时间加减函数之DATEDIFF
1.DATEDIFF语法
DATEDIFF(datepart,startdate,enddate) 描述: datepart: 时间类型 比如天、周、年 startdate、enddate :是开始时间和结束时间
2. datepart: 时间类型
| datepart | 缩写 |
|---|---|
| 年 | yy, yyyy |
| 季度 | qq, q |
| 月 | mm, m |
| 年中的日 | dy, y |
| 日 | dd, d |
| 周 | wk, ww |
| 星期 | dw, w |
| 小时 | hh |
| 分钟 | mi, n |
| 秒 | ss, s |
| 毫秒 | ms |
| 微妙 | mcs |
| 纳秒 | ns |
3.DATEDIFF示列
SELECT DATEDIFF(HH,'2023-05-07 16:00:00',GETDATE()); --1,两时间相比较小时相差1个小时 SELECT DATEDIFF(yy,'2020-05-07 16:00:00',GETDATE()); --3,两时间相比较小时相差3年
二、时间的加减函数之 DATEADD
1.DATEADD语法
DATEADD(datepart,number,date) 描述: datepar :时间规格(年、月、日等) number: 加减数量 date :以什么时间为准
2. datepart: 时间类型
| datepart | 缩写 |
|---|---|
| 年 | yy, yyyy |
| 季度 | qq, q |
| 月 | mm, m |
| 年中的日 | dy, y |
| 日 | dd, d |
| 周 | wk, ww |
| 星期 | dw, w |
| 小时 | hh |
| 分钟 | mi, n |
| 秒 | ss, s |
| 毫秒 | ms |
| 微妙 | mcs |
| 纳秒 | ns |
3.DATEADD示列
SELECT DATEADD(WEEK, 1, GETDATE()); --2023-05-14 17:40:25.960 当前时间加一周 SELECT DATEADD(MM, 5, GETDATE()); --2023-10-07 17:41:35.910 当前时间加5个月 SELECT DATEADD(yy, -1, GETDATE()); --2022-05-07 17:42:22.337 当前时间减1年
三、其它日期加减函数
1.datepart
语法
datepart (datepart,getdate()) –-返回代表指定日期的指定日期部分的整数。 SELECT DATEPART(mm, GETDATE()); --返回 5 SELECT DATEPART(WEEK, GETDATE()); --返回 19
2.datename
语法
datename (datepart,getdate()) –-返回代表指定日期的指定日期部分的字符串 SELECT DATENAME(dw, GETDATE()); --返回:星期日 SELECT DATENAME(Wk, GETDATE()); --返回 19 今年的19周
四、总结
| 函数 | 参数/功能 |
|---|---|
| DateDiff (datepart,date1,date2) | 以datepart指定的方式,返回date2 与date1两个日期之间的差值 date2-date1 |
| DateAdd (datepart,number,date) | 以datepart指定的方式,加上number之后的日期 |
| DatePart (datepart,date) | 返回日期date中,datepart指定部分所对应的整数值 |
| DateName (datepart,date) | 返回日期date中,datepart指定部分所对应的字符串名称 |
到此这篇关于SQL Server日期时间加减函数(DATEDIFF、DateAdd)的使用的文章就介绍到这了,更多相关SQL DATEDIFF、DateAdd 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Sql存储过程游标循环的用法及sql如何使用cursor写一个简单的循环
这篇文章主要介绍了循环和游标在Sql存储过程中使用及sql如何使用cursor写一个简单的循环的相关资料,需要的朋友可以参考下2015-11-11
SQL Server附加数据库报错:无法为该请求检索数据错误解决办法
在SQL Server中附加数据库时可能会发生各种错误,这篇文章主要给大家介绍了关于SQL Server附加数据库报错:无法为该请求检索数据错误的解决办法,文中通过图文介绍的非常详细,需要的朋友可以参考下2023-12-12
sqlserver中delete、update中使用表别名和oracle的区别
之所以要用别名,是因为where条件中需要用到子查询写一些条件,下面不写那么复杂,仅说明一下问题2013-03-03
Navicat连接SQL server出现:[IM002] [Microsoft][ODBC&nbs
这篇文章主要介绍了Navicat连接SQL server出现:[IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序(0)的解决方法,文章通过图文结合的方式讲解的非常详细,需要的朋友可以参考下2024-07-07
SQL Server 触发器 表的特定字段更新时,触发Update触发器
另外再补充一句:insert和update的数据都会保存在临时表中,所以使用inserted可以取出这些数据,删除时使用deleted可以取出被删除的数据2009-08-08


最新评论