SQL GETUTCDATE()函数的完整指南

404 阅读1分钟

GETUTCDATE()函数从SQL服务器运行的操作系统中计算出这个值。

SQL GETUTCDATE函数

SQL GETUTCDATE是一个内置函数,它以UTC格式返回当前数据库的日期和时间,即以'YYYY-MM-DD hh:mm:ss.mm'的格式。GETUTCDATE()函数返回当前的UTC。此外, GETUTCDATE()函数还返回当前数据库系统的UTC日期和时间,以'YYYY-MM-DD hh:mm:ss.mm '的格式。

语法

SELECT GETUTCDATE();

参数

GETUTCDATE: 这个函数只返回当前数据库的日期和时间。

注意
  1. 操作系统的设置决定了UTC的日期和时间
  2. GETUTCDATE()也可以用来存储独立于时区的时间戳

例子

SELECT GETUTCDATE();

输出

2019-11-10 06:51:26.703

为了更好地理解,请看这个例子:

请看下面的代码:

DECLARE @local_time DATETIME;
DECLARE @gmt_time DATETIME;
SET @local_time = GETDATE();
SET @gmt_time = GETUTCDATE();
SELECT 'Server local time: '
   + CONVERT(VARCHAR(40),@local_time);
SELECT 'Server GMT time: '
   + CONVERT(VARCHAR(40),@gmt_time);
SELECT 'Server time zone: '
   + CONVERT(VARCHAR(40),
      DATEDIFF(hour,@gmt_time,@local_time));
GO

输出

Server local time: Nov 10 2019 10:06PM
Server GMT time: Nov 10 2019 4:21PM
Server time zone: 6

getdate()和getutcdate()的区别。

getdate()和getutcdate()之间的主要区别是SQL SERVER机器的时区号。

SQL Server GETUTCDATE()

下面的例子使用GETDATE(), GETUTCDATE()和DATEDIFF()函数来返回本地时间、UTC和服务器时区:

DECLARE 
    @local_time DATETIME,
    @utc_time DATETIME;

SET @local_time = GETDATE();
SET @utc_time = GETUTCDATE();

SELECT
  CONVERT(VARCHAR(40), @local_time) 
        AS 'Server local time';
SELECT
  CONVERT(VARCHAR(40), @utc_time) 
        AS 'Server UTC time'
SELECT
  CONVERT(VARCHAR(40), DATEDIFF(hour, @utc_time, @local_time)) 
        AS 'Server time zone';
GO

结论

要在SQL中获得UTC格式的当前数据库日期和时间,请使用SQL GETUTCDATE()函数。

相关文章

SQL GETDATE函数

SQL SYSDATETIME 函数

SQL格式函数

SQL日期函数

SQL数据类型实例