共計 2243 個字符,預計需要花費 6 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
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 函數
作用:返回指定日期所在 日 / 月 / 年的部分。可以用 DATEPART 替換。
用法:
SELECT DAY(2021-02-09) -- 返回 9 SELECT MONTH(2021-02-09) -- 返回 2 SELECT YEAR(2021-02-09) -- 返回 2021
6、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 中有哪些常用的日期和時間函數問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注丸趣 TV 行業資訊頻道了解更多相關知識。
向 AI 問一下細節