SQL Server中有哪些常用的日期和時間函數,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
1、DATEADD(datepart,number,date)
作用:返回給指定日期加一個時間間隔后新的datetime值
參數說明:
datepart:指定為日期的哪部分增加數值。
常用的值有:年(yy/yyyy),季度(qq/q),月份(mm/m),日(day/dd/d),周(wk/ww),小時(hh),分鐘(mi,n),秒(ss/s)。
number:指定要增加的數值。如果是非整數將會舍去小數部分。負數表示減去相應的時間間隔。
date:表示要處理的日期。
用法:
-- 在指定日期上加三個月 select DATEADD(mm,3,'2020-12-30'); -- 指定日期減一天 select DATEADD(day,-1,'2020-12-30');
2、DATEDIFF(datepart,startdate,enddate)
作用:指定兩個時間相差的時間數。比如天、小時、分鐘等等。
參數說明:
datepart:指定返回的日期時間維度(天、小時、分鐘)。
常用的值有:年(yy/yyyy),季度(qq/q),月份(mm/m),日(day/dd/d),周(wk/ww),小時(hh),分鐘(mi,n),秒(ss/s)。
startdate:可以理解被減數。
enddate:可以理解減數。如果startdate大于enddate返回負值。
用法:
SELECT DATEDIFF(day,'2021-02-05','2021-02-09') AS DiffDate --返回 4天
3、DATENAME(deatpart,date)
作用:返回指定日期的指定部分的字符串。
參數說明:
datepart:指定返回的日期時間維度(天、小時、分鐘)。
常用的值有:年(yy/yyyy),季度(qq/q),月份(mm/m),日(day/dd/d),周(wk/ww),小時(hh),分鐘(mi,n),秒(ss/s)。
date:日期表達式
用法:
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 '時' DateName(minute,GetDate()) as '分' DateName(second,GetDate()) as '秒'
4、DATEPART(deatpart,date)
返回指定日期中指定部分的整數。用法和DATENAME相似,返回值為整數。比如:
SELECT DATEPART(weekday,'20210209') --返回值為2 SELECT DateName(weekday,'20210209') --返回值為星期二
5、DAY|MONTH|YEAR 函數
作用:返回指定日期所在 日/月/年的部分??梢杂肈ATEPART替換。
用法:
SELECT DAY('2021-02-09') --返回 9 SELECT MONTH('2021-02-09') --返回 2 SELECT YEAR('2021-02-09') --返回 20216、EOMONTH(input[,month_to_add])
作用:該函數是在SQLServer 2012中引入的。EOMONTH函數用來返回指定日期之前或之后某個月的最后一天的日期。
語法結構:=EOMONTH(開始日期,指定起始日期前后的月份)
用法:
DECLARE @date DATETIME = '2021-02-09'; SELECT EOMONTH ( @date,7) AS Result; --加七個月的月末日期 2021-09-30 SELECT EOMONTH ( @date,-2) AS Result; -- 減兩個月的月末日期 2020-12-31
7、FROMPARTS
作用:根據輸入的年、月、日參數生成一個日期值,并返回。
格式:DATEFROMPARTS(year,month,day)
參數說明:
year:輸入年份的整數值
month:輸入1~12之間的月份數
day:輸入年月所對應的day整數值
注意:如果上面三個參數,任意一個參數輸入null,則返回null。
用法:
SELECT DATEFROMPARTS (2020,2,09) AS [生成日期數據]; --2020-02-09
8、GETDATE()
這個太常見了,就是獲取系統當前時間。
SELECT GETDATE() --返回結果 2021-02-09 08:28:11.307
9、GETUTCDATE()
返回當前的UTC時間。國內使用減八小時。
SELECT GETUTCDATE() --返回結果 2021-02-09 00:29:21.710
關于SQL Server中有哪些常用的日期和時間函數問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。