1.Sql 中常用時間處理函數
GETDATE() 返回當前的日期和時間
DATEPART() 返回日期/時間的單獨部分
DATEADD() 返回日期中添加或減去指定的時間間隔
DATEDIFF() 返回兩個日期直接的時間
DATENAME() 返回指定日期的指定日期部分的整數
CONVERT() 返回不同格式的時間
2.一些常用的日期格式
select DATEDIFF(day, '2019-08-20', getDate()); --獲取指定時間單位的差值 SELECT DATEADD(MINUTE,-5,GETDATE()) --加減時間,此處為獲取五分鍾前的時間,MINUTE 表示分鍾,可為 YEAR,MONTH,DAY,HOUR select DATENAME(month, getDate()); --當前月份 select DATENAME(WEEKDAY, getDate()); --當前星期幾 select DATEPART(month, getDate()); --當前月份 select DAY(getDate()); --返回當前日期天數 select MONTH(getDate()); --返回當前日期月數 select YEAR(getDate()); --返回當前日期年數 SELECT CONVERT(VARCHAR(16),GETDATE(),120) --時間格式轉化 獲取精確到分的時間 2019-08-20 14:53 SELECT CONVERT(VARCHAR(24),GETDATE(),102) --2006.05.16 SELECT CONVERT(VARCHAR(20),GETDATE(),114) --15:31:39:227 SELECT CONVERT(VARCHAR(16),GETDATE(),0) --08 20 2019 3:02 SELECT CONVERT(VARCHAR(10),GETDATE(),5) --20-08-19 SELECT CONVERT(VARCHAR(16),GETDATE(),11) --19/08/20 SELECT CONVERT(VARCHAR(16),GETDATE(),12) --190820 SELECT CONVERT(VARCHAR(22),GETDATE(),20) --2019-08-20 15:06:04 若為16 則為精確到分 SELECT CONVERT(VARCHAR(24),GETDATE(),21) --2019-08-20 15:06:04.590
3.日期單位及其縮寫
日期單位
|
縮寫
|
year
|
yyyy 或yy
|
quarter
|
qq,q
|
month
|
mm,m
|
dayofyear
|
dy,y
|
day
|
dd,d
|
week
|
wk,ww
|
weekday
|
dw
|
Hour
|
hh
|
minute
|
mi,n
|
second
|
ss,s
|
millisecond
|
ms
|
declare @date datetime set @date=GETDATE() select datepart(year,@date)iYear,datepart(month,@date)iMonth,datepart(day,@date)iDay,datepart(quarter,@date)iDuarter, datepart(dayofyear,@date)iDayofyear,datepart(weekday,@date)iWeekday, datepart(week,@date)iWeek,datepart(Hour,@date)iHour,datepart(minute,@date)iMinute,datepart(SECOND,@date)iSecond,datepart(millisecond,@date)iMillisecond
--采用簡寫格式 declare @date datetime set @date=GETDATE() select datepart(yyyy,@date)iYear,datepart(mm,@date)iMonth,datepart(d,@date)iDay,datepart(qq,@date)iDuarter, datepart(dy,@date)iDayofyear,datepart(dw,@date)iWeekday, datepart(ww,@date)iWeek,datepart(hh,@date)iHour,datepart(mi,@date)iMinute,datepart(s,@date)iSecond,datepart(ms,@date)iMillisecon

