GETUTCDATE (Transact-SQL)
Retorna o carimbo de data/hora do sistema de banco de dados atual como um valor datetime. O deslocamento de fuso horário do banco de dados não está incluído. Esse valor representa a hora UTC (Tempo Universal Coordenado) atual. Esse valor é derivado do sistema operacional do computador em que a instância do SQL Server está sendo executada.
Observação |
---|
SYSDATETIME e SYSUTCDATETIME têm mais precisão de segundos fracionários do que GETDATE e GETUTCDATE. SYSDATETIMEOFFSET inclui o deslocamento de fuso horário do sistema. SYSDATETIME, SYSUTCDATETIME e SYSDATETIMEOFFSET podem ser atribuídos a uma variável de qualquer um dos tipos de data e hora. |
Para obter uma visão geral de todos os tipos de dados e funções de data e hora do Transact-SQL, consulte Funções Date e Time (Transact-SQL). Para obter informações e exemplos comuns aos tipos de dados e funções de data e hora, consulte Usando dados de data e hora.
Sintaxe
GETUTCDATE()
Tipos de retorno
datetime
Comentários
Instruções Transact-SQL podem se referir a GETUTCDATE sempre que puderem fazer referência a uma expressão datetime.
GETUTCDATE é uma função não-determinística. Exibições e expressões que fazem referência a esta função em uma coluna não podem ser indexadas.
Exemplos
Os exemplos a seguir usam as seis funções de sistema do SQL Server que retornam a data e a hora atuais para retornar a data, a hora ou ambas. Os valores são retornados em séries; portanto, seus segundos fracionários podem ser diferentes.
A. Obtendo a data e a hora atuais do sistema
SELECT 'SYSDATETIME() ', SYSDATETIME();
SELECT 'SYSDATETIMEOFFSET()', SYSDATETIMEOFFSET();
SELECT 'SYSUTCDATETIME() ', SYSUTCDATETIME();
SELECT 'CURRENT_TIMESTAMP ', CURRENT_TIMESTAMP;
SELECT 'GETDATE() ', GETDATE();
SELECT 'GETUTCDATE() ', GETUTCDATE();
/* Returned:
SYSDATETIME() 2007-05-03 18:34:11.9351421
SYSDATETIMEOFFSET() 2007-05-03 18:34:11.9351421 -07:00
SYSUTCDATETIME() 2007-05-04 01:34:11.9351421
CURRENT_TIMESTAMP 2007-05-03 18:34:11.933
GETDATE() 2007-05-03 18:34:11.933
GETUTCDATE() 2007-05-04 01:34:11.933
*/
A. Obtendo a data atual do sistema
SELECT 'SYSDATETIME() ', CONVERT (date, SYSDATETIME());
SELECT 'SYSDATETIMEOFFSET()', CONVERT (date, SYSDATETIMEOFFSET());
SELECT 'SYSUTCDATETIME() ', CONVERT (date, SYSUTCDATETIME());
SELECT 'CURRENT_TIMESTAMP ', CONVERT (date, CURRENT_TIMESTAMP);
SELECT 'GETDATE() ', CONVERT (date, GETDATE());
SELECT 'GETUTCDATE() ', CONVERT (date, GETUTCDATE());
/* Returned:
SYSDATETIME() 2007-05-03
SYSDATETIMEOFFSET() 2007-05-03
SYSUTCDATETIME() 2007-05-04
CURRENT_TIMESTAMP 2007-05-03
GETDATE() 2007-05-03
GETUTCDATE() 2007-05-04
*/
C. Obtendo a hora atual do sistema
SELECT 'SYSDATETIME() ', CONVERT (time, SYSDATETIME());
SELECT 'SYSDATETIMEOFFSET()', CONVERT (time, SYSDATETIMEOFFSET());
SELECT 'SYSUTCDATETIME() ', CONVERT (time, SYSUTCDATETIME());
SELECT 'CURRENT_TIMESTAMP ', CONVERT (time, CURRENT_TIMESTAMP);
SELECT 'GETDATE() ', CONVERT (time, GETDATE());
SELECT 'GETUTCDATE() ', CONVERT (time, GETUTCDATE());
/* Returned
SYSDATETIME() 18:25:01.6958841
SYSDATETIMEOFFSET() 18:25:01.6958841
SYSUTCDATETIME() 01:25:01.6958841
CURRENT_TIMESTAMP 18:25:01.6930000
GETDATE() 18:25:01.6930000
GETUTCDATE() 01:25:01.6930000
*/