SQLServer中的DATEADD怎么使用-創(chuàng)新互聯(lián)

這篇文章主要講解了“SQL Server中的DATEADD怎么使用”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(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)算。語法很簡(jiǎn)單:

DATEADD (datepart, number, date)

該  number 部分必須是整數(shù),并且必須在日期部分的可接受值范圍內(nèi)。

該  datepart 部分必須是以下日期部分之一(我們?cè)谥暗?   帖子中看到  過):

DATEPART縮略語
是的,yyyy
25美分硬幣qq,q
mm,m
DAYOFYEARdy,y
dd,d
wk,ww
平日dw,w
小時(shí)HH
分鐘mi,n
第二ss,s
毫秒女士
微秒MCS
納秒NS

雖然  DATEADD 支持上表中所示的縮寫,但我們應(yīng)盡一切努力使用完整表達(dá)式來確保代碼的清晰度。如果我們使用縮寫,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'

加減

我們之前看到過  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

幾個(gè)月的算術(shù)

關(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)過本文的學(xué)習(xí)后,相信大家對(duì)SQL Server中的DATEADD怎么使用這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

本文標(biāo)題:SQLServer中的DATEADD怎么使用-創(chuàng)新互聯(lián)
文章鏈接:http://muchs.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í)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)