最新在比较SQLServer 和Oracle 的时间使用差异,记录一下SQLServer 获取时间的方式.
--获取系统当前时间,格式默认为--2024-02-28 10:03:06
SELECT GETDATE() AS CurrentDateTime;
--获取系统当前时间,带时区默认系统时区,格式为-2024-02-28 10:02:57.9102897 +08:00
SELECT SYSDATETIMEOFFSET() AS CurrentDateTime;
--获取系统当前指定时区时间, -06:00 表示时区为US/Central, 格式为 --2024-02-27 20:09:49.6299868 -06:00
SELECT SWITCHOFFSET(SYSDATETIMEOFFSET(), '-06:00') AS CurrentDateTimeWithTimesZone;
--将字符串转换为时间格式, 格式为2024-02-28 10:03:06
SELECT CONVERT(datetime, '2024-02-28 10:03:06') AS ConvertedDateTime;
--将字符转成带时区的时间格式,格式为 2024-02-28 10:03:06 -06:00
SELECT CONVERT(datetimeoffset, '2024-02-28 10:03:06' + ' ' + '-06:00') AS ConvertedDateTimeOffset;
SELECT TODATETIMEOFFSET('2024-02-28 10:03:06', '-06:00') AS ConvertedDateTimeOffset;
--将时间转换成指定格式yyyy-MM-dd HH:mm:ss 的字符串时间显示
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd HH:mm:ss') AS ConvertedDateTime;--将时间转换为字符串
SELECT FORMAT(SYSDATETIMEOFFSET(), 'yyyy-MM-dd HH:mm:ss') AS ConvertedDateTime;--将时区时间转换为字符串
SELECT CONVERT(varchar(50), GETDATE(), 120) AS ConvertedDateTime;--将时间转换为字符串, 120代表以 yyyy-MM-dd HH:mm:ss 格式显示时间