溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SQL Server中有哪些常用的日期和時(shí)間函數(shù)

發(fā)布時(shí)間:2021-07-14 14:24:50 來(lái)源:億速云 閱讀:158 作者:Leah 欄目:數(shù)據(jù)庫(kù)

SQL Server中有哪些常用的日期和時(shí)間函數(shù),針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

1、DATEADD(datepart,number,date)

作用:返回給指定日期加一個(gè)時(shí)間間隔后新的datetime值

參數(shù)說(shuō)明:

datepart:指定為日期的哪部分增加數(shù)值。

常用的值有:年(yy/yyyy),季度(qq/q),月份(mm/m),日(day/dd/d),周(wk/ww),小時(shí)(hh),分鐘(mi,n),秒(ss/s)。

number:指定要增加的數(shù)值。如果是非整數(shù)將會(huì)舍去小數(shù)部分。負(fù)數(shù)表示減去相應(yīng)的時(shí)間間隔。

date:表示要處理的日期。

用法:

-- 在指定日期上加三個(gè)月 select DATEADD(mm,3,'2020-12-30'); -- 指定日期減一天 select DATEADD(day,-1,'2020-12-30');

2、DATEDIFF(datepart,startdate,enddate)

作用:指定兩個(gè)時(shí)間相差的時(shí)間數(shù)。比如天、小時(shí)、分鐘等等。

參數(shù)說(shuō)明:

datepart:指定返回的日期時(shí)間維度(天、小時(shí)、分鐘)。

常用的值有:年(yy/yyyy),季度(qq/q),月份(mm/m),日(day/dd/d),周(wk/ww),小時(shí)(hh),分鐘(mi,n),秒(ss/s)。

startdate:可以理解被減數(shù)。

enddate:可以理解減數(shù)。如果startdate大于enddate返回負(fù)值。

用法:

SELECT DATEDIFF(day,'2021-02-05','2021-02-09') AS DiffDate --返回 4天

3、DATENAME(deatpart,date)

作用:返回指定日期的指定部分的字符串。

參數(shù)說(shuō)明:

datepart:指定返回的日期時(shí)間維度(天、小時(shí)、分鐘)。

常用的值有:年(yy/yyyy),季度(qq/q),月份(mm/m),日(day/dd/d),周(wk/ww),小時(shí)(hh),分鐘(mi,n),秒(ss/s)。

date:日期表達(dá)式

用法:

DateName(quarter,GetDate()) as '第幾季度' DateName(week,GetDate()) as '一年中的第幾周' DateName(DAYOFYEAR,GetDate()) as '一年中的第幾天' DateName(year,GetDate()) as '年' DateName(month,GetDate()) as '月' DateName(day,GetDate()) as '日' DateName(hour,GetDate()) as '時(shí)' DateName(minute,GetDate()) as '分' DateName(second,GetDate()) as '秒'

4、DATEPART(deatpart,date)

返回指定日期中指定部分的整數(shù)。用法和DATENAME相似,返回值為整數(shù)。比如:

SELECT DATEPART(weekday,'20210209') --返回值為2 SELECT DateName(weekday,'20210209') --返回值為星期二

5、DAY|MONTH|YEAR 函數(shù)

作用:返回指定日期所在 日/月/年的部分??梢杂肈ATEPART替換。

用法:

SELECT DAY('2021-02-09') --返回 9 SELECT MONTH('2021-02-09') --返回 2 SELECT YEAR('2021-02-09') --返回 2021

6、EOMONTH(input[,month_to_add])

作用:該函數(shù)是在SQLServer 2012中引入的。EOMONTH函數(shù)用來(lái)返回指定日期之前或之后某個(gè)月的最后一天的日期。

語(yǔ)法結(jié)構(gòu):=EOMONTH(開(kāi)始日期,指定起始日期前后的月份)

用法:

DECLARE @date DATETIME = '2021-02-09'; SELECT EOMONTH ( @date,7) AS Result; --加七個(gè)月的月末日期 2021-09-30 SELECT EOMONTH ( @date,-2) AS Result; -- 減兩個(gè)月的月末日期 2020-12-31

7、FROMPARTS

作用:根據(jù)輸入的年、月、日參數(shù)生成一個(gè)日期值,并返回。

格式:DATEFROMPARTS(year,month,day)

參數(shù)說(shuō)明:

year:輸入年份的整數(shù)值

month:輸入1~12之間的月份數(shù)

day:輸入年月所對(duì)應(yīng)的day整數(shù)值

注意:如果上面三個(gè)參數(shù),任意一個(gè)參數(shù)輸入null,則返回null。

用法:

SELECT DATEFROMPARTS (2020,2,09) AS [生成日期數(shù)據(jù)]; --2020-02-09

8、GETDATE()

這個(gè)太常見(jiàn)了,就是獲取系統(tǒng)當(dāng)前時(shí)間。

SELECT GETDATE() --返回結(jié)果 2021-02-09 08:28:11.307

9、GETUTCDATE()

返回當(dāng)前的UTC時(shí)間。國(guó)內(nèi)使用減八小時(shí)。

SELECT GETUTCDATE() --返回結(jié)果 2021-02-09 00:29:21.710

關(guān)于SQL Server中有哪些常用的日期和時(shí)間函數(shù)問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI