這篇文章主要講解了“SQL Server中的DATEADD怎么使用”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“SQL Server中的DATEADD怎么使用”吧!
目前成都創(chuàng)新互聯(lián)公司已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、汕頭網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。與類似的功能一樣, DATEADD
可以對(duì)日期和時(shí)間進(jìn)行算術(shù)運(yùn)算。語(yǔ)法很簡(jiǎn)單:
DATEADD (datepart, number, date)
該 number
部分必須是整數(shù),并且必須在日期部分的可接受值范圍內(nèi)。
該 datepart
部分必須是以下日期部分之一(我們?cè)谥暗?
帖子中看到 過(guò)):
DATEPART | 縮略語(yǔ) |
年 | 是的,yyyy |
25美分硬幣 | qq,q |
月 | mm,m |
DAYOFYEAR | dy,y |
天 | dd,d |
周 | wk,ww |
平日 | dw,w |
小時(shí) | HH |
分鐘 | mi,n |
第二 | ss,s |
毫秒 | 女士 |
微秒 | MCS |
納秒 | NS |
雖然 DATEADD
支持上表中所示的縮寫,但我們應(yīng)盡一切努力使用完整表達(dá)式來(lái)確保代碼的清晰度。如果我們使用縮寫,SQL Server不會(huì)運(yùn)行得更快。
另請(qǐng)注意,雖然我們可以使用納秒加或減 DATEADD
,但DATETIME2
數(shù)據(jù)類型的最小粒度為 100納秒,因此需要考慮舍入。
DATEADD
將使用date
參數(shù)中使用的數(shù)據(jù)類型返回結(jié)果 。例如,如果我們使用以YYYYMMDD
格式表示日期的文字字符串 ,則返回類型將是一個(gè) DATETIME
值,因?yàn)槲淖肿址浑[式轉(zhuǎn)換為 DATETIME
。
SELECT DATEADD(DAY,1,'20181031')
- 返回DATETIME值'2018-11-01 00:00:00.000'
但是,如果我們使用 DATETIME2
輸入值,結(jié)果將是一個(gè) DATETIME2
值。
SELECT DATEADD(納秒,100,CAST('20181031' AS DATETIME2))
- 返回DATETIME2值'2018-10-31 00:00:00.0000001'
我們之前看到過(guò) DATEADD
可以用于加法 和 減法,這使得向后和向前計(jì)算值變得容易。我們假設(shè)我們需要計(jì)算100天前的時(shí)間點(diǎn)。如果我們以今天為出發(fā)點(diǎn),它將如下所示:
DECLARE @dt DATETIME2 = SYSUTCDATETIME();
SELECT @dt AS [TimeNow],DATEADD(DAY, - 100,@ dt)AS [TimeThen];
注意在部分中使用負(fù)號(hào) number
。結(jié)果如下:
TimeNow: 2018-10-31 09:17:21.7866500
TimeThen: 2018-07-23 09:17:21.7866500
關(guān)于這個(gè)功能的最后一個(gè)想法。在增加或減少月數(shù)時(shí),請(qǐng)注意不包含31天的月份。例如,讓我們?cè)?018年2月底添加一個(gè)月:
SELECT DATEADD(MONTH,1,'20180228')
- 返回DATETIME值'20180328'
但是,如果我們?cè)?018年1月底添加一個(gè),兩個(gè)或三個(gè)月,我們會(huì)看到不同的結(jié)果:
SELECT DATEADD(MONTH,1,'20180131');
- 返回DATETIME值'20180228'
SELECT DATEADD(MONTH,2,'20180131');
- 返回DATETIME值'20180331'
SELECT DATEADD(MONTH,3,'20180131');
- 返回DATETIME值'20180430'
DATEADD
是一個(gè)非常有用的系統(tǒng)函數(shù)在T-SQL中添加和減去日期和時(shí)間的值,我廣泛使用。只要我們記住它圍繞數(shù)據(jù)類型和數(shù)月長(zhǎng)度的怪癖,它就會(huì)非常強(qiáng)大。
感謝各位的閱讀,以上就是“SQL Server中的DATEADD怎么使用”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)SQL Server中的DATEADD怎么使用這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
本文標(biāo)題:SQLServer中的DATEADD怎么使用-創(chuàng)新互聯(lián)
文章鏈接:http://m.rwnh.cn/article26/ddssjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、外貿(mào)建站、網(wǎng)站設(shè)計(jì)公司、網(wǎng)頁(yè)設(shè)計(jì)公司、響應(yīng)式網(wǎng)站、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容