[SQL SERVER][TSQL]日期和時間函數

[SQL SERVER][TSQL]日期和時間函數

 

日期和時間函數相信大家在實務一定很常使用,雖然SQL2008多了幾個新的日期和時間函數,

但除非我有特別的理由或需求我才會使用(大部分使用GETDATE()或CURRENT_TIMESTAMP就夠了 ),

之前朋友對我說有效能上的差別,但我覺得在效能上應該是相同(只有精準度的差別),

下面自己整理一下相關日期和時間函數相關資源備忘錄。

 

select GETUTCDATE() as fn_GETUTCDATE,
SYSUTCDATETIME() as fn_SYSUTCDATETIME
go
select GETDATE() as fn_GETDATE,
SYSDATETIME() as fn_SYSDATETIME,
CURRENT_TIMESTAMP as fn_CURRENT_TIMESTAMP
go
select SYSDATETIMEOFFSET() as fn_SYSDATETIMEOFFSET
go
select SWITCHOFFSET (SYSDATETIMEOFFSET(), '-01:00') as fn_SWITCHOFFSET,
TODATETIMEOFFSET (SYSDATETIMEOFFSET(), '-07:00') as fn_TODATETIMEOFFSET 
go

 

 

image

 

這裡還有一個較少使用的 ODBC 系統函數 {fn NOW()}

select {fn NOW()}
go

 

image

 

 

 

 

參考

日期和時間資料類型與函數 (Transact-SQL)

SYSDATETIME (Transact-SQL)

SYSUTCDATETIME (Transact-SQL)

GETUTCDATE (Transact-SQL)

SYSDATETIMEOFFSET (Transact-SQL)

CURRENT_TIMESTAMP (Transact-SQL)

GETDATE (Transact-SQL)

SWITCHOFFSET (Transact-SQL)

TODATETIMEOFFSET (Transact-SQL)

Appendix E: Scalar Functions

Time, Date, and Interval Functions