Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Exemplos de GETDATE() no SQL Server (T-SQL)


O GETDATE() função retorna a data e hora atuais como um datetime valor. Esse valor é derivado do sistema operacional do computador em que a instância do SQL Server está sendo executada.

Este artigo fornece exemplos do método GETDATE() função, incluindo como você pode usá-lo com outras funções para retornar o valor que você está interessado.


Sintaxe


Primeiro, aqui está a sintaxe:
GETDATE ( )

Então você simplesmente chama essa função sem nenhum argumento.

Exemplo


Aqui está um exemplo básico de como usar um SELECT instrução para retornar a data e hora atuais de GETDATE() :
SELECT GETDATE() AS Result;

Resultado:
+-------------------------+
| Result                  |
|-------------------------|
| 2018-06-15 23:54:42.013 |
+-------------------------+

Então, como mencionado, ele retorna um datetime valor. Se você quiser um valor com precisão fracionária de mais segundos, use SYSDATETIME() em vez de. Essa função retorna um datetime2 valor.

Extrair uma parte da data


Se você quiser apenas uma parte do valor de retorno, você pode usar DATEPART() para retornar apenas a parte da data/hora em que você está interessado.

Exemplo:
SELECT DATEPART(month, GETDATE()) AS Result;

Resultado:
+----------+
| Result   |
|----------|
| 6        |
+----------+

Às vezes, há mais de uma maneira de obter o mesmo resultado no SQL Server. Aqui está outro exemplo usando o MONTH() função:
SELECT MONTH(GETDATE()) AS Result;

Resultado:
+----------+
| Result   |
|----------|
| 6        |
+----------+

Ambas as funções retornam o mês atual. Mas eles os retornam como um número inteiro representando o número do mês.

Se você quiser o mês nome retornado, você pode usar DATENAME() :
SELECT DATENAME(month, GETDATE()) AS Result;

Resultado:
+----------+
| Result   |
|----------|
| June     |
+----------+


Formatar a data


Você também pode usar outras funções T-SQL para formatar a data conforme necessário.

Aqui está um exemplo de uso do FORMAT() função para formatar o resultado:
SELECT 
    FORMAT(GETDATE(), 'd', 'en-US') AS 'd, en-US',
    FORMAT(GETDATE(), 'd', 'en-gb') AS 'd, en-gb',
    FORMAT(GETDATE(), 'D', 'en-US') AS 'D, en-US',
    FORMAT(GETDATE(), 'D', 'en-gb') AS 'D, en-gb';

Resultado:
+------------+------------+-----------------------+--------------+
| d, en-US   | d, en-gb   | D, en-US              | D, en-gb     |
|------------+------------+-----------------------+--------------|
| 6/15/2018  | 15/06/2018 | Friday, June 15, 2018 | 15 June 2018 |
+------------+------------+-----------------------+--------------+

Mais exemplos em Como formatar a data e a hora no SQL Server.

Incrementando o valor e encontrando a diferença


Você pode usar funções como DATEDIFF() para retornar a diferença entre a data atual e outra data.

Aqui está um exemplo de uso de DATEADD() para adicionar um mês à data atual, descobrindo a diferença em dias:
DECLARE @date1 datetime2 = GETDATE();
DECLARE @date2 datetime2 = DATEADD(month, 1, GETDATE());
SELECT DATEDIFF(day, @date1, @date2) AS Result;

Resultado:
+----------+
| Result   |
|----------|
| 30       |
+----------+