SQL Server ->> 日期函数


获取当前系统日期时间。

取决于:1、精度要求;2、UTC时间还是系统时间;3、要不要带时区

与 GETDATE 和 GETUTCDATE 比较而言,SYSDATETIME 和 SYSUTCDATETIME 的秒的小数部分精度更高。

SYSDATETIMEOFFSET 包含系统时区偏移量。 SYSDATETIME、SYSUTCDATETIME 和 SYSDATETIMEOFFSET 可以分配给采用任意日期和时间类型的变量。

SELECT
GETDATE(),
SYSDATETIME(),
CURRENT_TIMESTAMP,

GETUTCDATE(),
SYSUTCDATETIME(),

SYSDATETIMEOFFSET()

结果

把某个带时区的时间转成当前系统时区时间

SELECT SWITCHOFFSET (CAST('2022-02-21 17:35:46.7019931 +05:00' AS DATETIMEOFFSET),DATEPART(TZ,SYSDATETIMEOFFSET()))
,CAST(SWITCHOFFSET (CAST('2022-02-21 17:35:46.7019931 +05:00' AS DATETIMEOFFSET),DATEPART(TZ,SYSDATETIMEOFFSET())) AS DATETIME)

结果