sqlserver日期處理函式

2021-08-30 20:07:56 字數 1979 閱讀 5426

函式

確定性dateadd

具有確定性

datediff

具有確定性

datename

不具有確定性

datepart

除了用作 datepart (dw, date) 外都具有確定性。dw 是工作日的日期部分,取決於由設定每週第一天的 set datefirst 所設定的值。

day具有確定性

getdate

不具有確定性

getutcdate

不具有確定性

month

具有確定性(擷取月份)

year

具有確定性(擷取年)

datediff 函式 [日期和時間]

功能 返回兩個日期之間的間隔。

語法 datediff ( date-part, date-expression-1, date-expression-2 )

date-part :

year | quarter | month | week | day | hour | minute | second | millisecond

引數 date-part    指定要測量其間隔的日期部分。(可以理解為要返回數值的單位)

用法例:根據生日計算年齡

datediff ( date-part, birthday,getdate())

比較有代表性的用法例子如下:

select datediff( hour, '4:00am', '5:50am' )下面的語句返回 102:

select datediff( month, '1987/05/02', '1995/11/15' )下面的語句返回 0:

select datediff( day, '00:00', '23:59' )下面的語句返回 4:

select datediff( day,

'1999/07/19 00:00',

'1999/07/23 23:59' )下面的語句返回 0:

select datediff( month, '1999/07/19', '1999/07/23' )下面的語句返回 1:

select datediff( month, '1999/07/19', '1999/08/23' )

對於更小的時間單位存在溢位值:

milliseconds    24 天

seconds    68 年

minutes    4083 年

selectdatepart(month, getdate()) as 'month number'

日期部分

縮寫year

yy, yyyy

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

sqlserver 日期函式

一直都在用oracle,對sqlserver中的一些函式很不熟悉,在工作用偶爾會用到,貼在這裡,便於以後查詢 取出資料庫欄位中datetime列的日期部分 1 select datename year,getdate datename month,getdate datename day,getda...

SQL Server 日期函式

獲取當前系統日期時間。取決於 1 精度要求 2 utc時間還是系統時間 3 要不要帶時區 與 getdate 和 getutcdate 比較而言,sysdatetime 和 sysutcdatetime 的秒的小數部分精度更高。sysdatetimeoffset 包含系統時區偏移量。sysdatet...

sql server日期時間函式

2.dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值 例如 向日期加上2天 select dateadd day,2,2004 10 15 返回 2004 10 17 00 00 00.000 3.datediff 返回跨兩個指定日期的日期和時間邊界數。select ...