1 GETDATE() 返回當(dāng)前系統(tǒng)日期
![](/d/20211017/12b68c77aed7ae62dcfb17965a3a8987.gif)
2 DATEADD(日期部分,常數(shù),日期) 返回將日期的指定日期部分加常數(shù)后的結(jié)果返回
![](/d/20211017/75dc312bc1eef8e14534402cf2e11b4d.gif)
常數(shù)為正
SELECT DATEADD(YY,1,GETDATE())
![](/d/20211017/d645e0f0fbc461ae2cc4c364f03ebcd3.gif)
等同于
SELECT DATEADD(YEAR,1,GETDATE())
![](/d/20211017/32e7156ec5f62ad02a7be59d4157304c.gif)
常數(shù)為負(fù)數(shù)
SELECT DATEADD(YY,-2,GETDATE())
![](/d/20211017/6920d485386c9808ed407aa7ba8b1474.gif)
常數(shù)為小數(shù)(直接舍去小數(shù)部分)
SELECT DATEADD(YY,2.4,GETDATE())
SELECT DATEADD(YY,2.5,GETDATE())
SELECT DATEADD(YY,2.6,GETDATE())
![](/d/20211017/cc0fbd08b569fb35f0d495ec061957f1.gif)
3 DATEDIFF( 日期部分,日期1,日期2) 返回兩個(gè)日期之間的差值,日期部分(日期1-日期2)
日期1>日期2
SELECT DATEDIFF(YY,‘2008/1/1',GETDATE())
![](/d/20211017/055ec105360394d1827efbcfd7145009.gif)
日期1日期2
SELECT DATEDIFF(YY,GETDATE(),‘2008/1/1')
![](/d/20211017/3b95af2050ee8a314fae643923be3414.gif)
4 DATENAME() 返回指定日期的日期部分的字符串(返回字符串)
SELECT DATENAME(YY,GETDATE())
![](/d/20211017/a727ae222d35068039790077bf774e53.gif)
'+'是連接符號(hào)
SELECT DATENAME(YY,GETDATE())+DATENAME(QQ,GETDATE()) --QQ 是QUATRER代表季度
![](/d/20211017/e0db63e119bdfc97444ccefba89f70ac.gif)
5 DATEPART() 返回指定日期的日期部分的整數(shù)(返回整數(shù))
SELECT DATEPART(YY,GETDATE())
![](/d/20211017/d47dbc5cdc3f3c72732b5b3155edac10.gif)
'+'是加符號(hào)
SELECT DATEPART(YY,GETDATE())+DATEPART(QQ,GETDATE())
![](/d/20211017/42da8ca1e60698a26861f1385c63aa7f.gif)
6 DAY() 返回指定日期的日部分的整數(shù)
![](/d/20211017/4f01142d695fd2b589266bb39d0190d7.gif)
7 MONTH() 返回指定日期的月部分的整數(shù)
![](/d/20211017/776b38daf09db363283bbe13b0a0da38.gif)
8 YEAR() 返回指定日期的年部分的整數(shù)
![](/d/20211017/6f080175fd446e477823a050b2e86cfa.gif)
補(bǔ)充:
時(shí)間轉(zhuǎn)換:
select convert(varchar(12),getdate(),101) 07/16/2010
select convert(varchar(12),getdate(),102) 2010.07.16
select convert(varchar(12),getdate(),103) 16/07/2010
select convert(varchar(12),getdate(),104) 16.07.2010
select convert(varchar(12),getdate(),105) 16-07-2010
select convert(varchar(12),getdate(),106) 16 Jul 2010
select convert(varchar(12),getdate(),107) Jul 16, 2010
select convert(varchar(12),getdate(),108) 11:58:49
select convert(varchar(12),getdate(),109) Jul 16 2010
select convert(varchar(12),getdate(),110) 07-16-2010
select convert(varchar(12),getdate(),111) 2010/07/16
select convert(varchar(12),getdate(),112) 20100716
select convert(varchar(12),getdate(),113) 16 Jul 2010
select convert(varchar(12),getdate(),114) 11:59:35:930
當(dāng)月第一天
select dateadd(mm,datediff(mm,0,getdate()),0)
本周星期一
select dateadd(wk,datediff(wk,0,getdate()),0)
本年第一天
select dateadd(yyyy,datediff(yyyy,0,getdate()),0)
--本月最后1天
select dateadd(ms,-3,dateadd(mm,datediff(mm,0,getdate())+1,0))
--本周最后一天,注意sql精確到3毫秒。。。
select dateadd(ms,-3,dateadd(wk,datediff(wk,0,getDate())+1,0));
本月的第一個(gè)星期一
select dateadd(wk,dateDiff(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())),0);
到此這篇關(guān)于SQL SERVER中常用日期函數(shù)的具體使用的文章就介紹到這了,更多相關(guān)SQL SERVER常用日期函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- SQL Server 日期函數(shù)CAST 和 CONVERT 以及在業(yè)務(wù)中的使用介紹
- SQLServer 日期函數(shù)大全(小結(jié))