SQL日期函數
文章目錄
一、日期數據類型
datetime | 8字節 | 2020-03-24 11:20:46.840 |
---|---|---|
smalldatetime | 4字節 | 2020-03-24 11:21:00 |
date | 3字節 | 2020-03-24 |
time | 11:22:29.7430000 |
二、日期函數
getime()獲得當前系統的時間
datepart()和datename()均獲得日期的一部分,前者返回整型,後者返回字符串
1 getdate()
返回當前系統時間
2 datepart()(整數)
返回日期或時間的一部分
datepart(日期單位,日期)
select datepart(year,getdate())
2020
select datepart(weekday,getdate())
3
或許可以用這些函數代替。DAY(getdate())、MONTH(getdate())、YEAR(getdate())
3 datename()(字符串)
返回日期或時間的一部分
select datename(month,getdate())
03
select datename(weekday ,getdate())
星期三
4dateadd(日期單位,常數,指定日期)
dateadd(日期單位,常數,指定日期) 返回指定日期加上一段時間後的日期,常數可以爲負數
獲取當前日期的5天后的日期
select dateadd(day,5,getdate())
日期單位
datepart | abbreviations |
---|---|
year | yy,yyyy |
quarter | qq,q |
mounth | mm,m |
dayofyear | dy,y |
day | d,dd |
week | ww,wk |
weekday | dw,w |
minute | mi,n |
second | ss,s |
ms 毫秒,微秒 mcs ,ns納秒
5日期1-日期2=datediff(日期單位,日期1,日期2)
select datediff(year,'2018-01-01',getadate())
2
6 convert ()用不同的格式顯示日期/時間
CONVERT轉換時間:
select convert(date,getdate()) --輸出2020-03-24
SELECT CONVERT(DateTime,'2011-07-11') --輸出 2011-07-11 00:00:00.000
select CONVERT(varchar(10), GETDATE(), 120) --輸出 2020-03-24
select CONVERT(varchar(10), GETDATE(), 111) --輸出 2020/03/24
120,111都是指定的日期格式