Olá galera,
Nesta postagem vou mostrar as principais funções de data do SQL Server.
No SQL Server há algumas formas de sabermos a data atual do sistema via comando SQL
- GETDATE(): Data e hora atuais do sistema. Função da engine do SQL Server
- CURRENT_TIMESTAMP – Data e hora atuais do sistema. Padrão SQL ANSI
- Outras funções para retornar a data do sistema – SYSDATETIME(), SYSDATETIMEOFFSET(), SYSUTCDATETIME(), GETUTCDATE()
Ex.:
SELECT GETDATE() as TEST_GETDATE
SELECT CURRENT_TIMESTAMP as TEST_CURRENT
SELECT SYSDATETIME () as TEST_SYSUTCDATETIME
Função DATEPART(): Retorna um fragmento da data de acordo com o DATEPART escolhido. Está função retorna um valor inteiro, que representa o valor que desejamos obter.
- Recebe 2 argumentos:
- Primeiro parâmetro: fragmento da data que desejamos
- Segundo parâmetro: data propriamente dita.
- Sintaxe
- DATEPART (parametro1, parametro2)
TABELA ABREVIAÇÕES DE FRAGMENTO DE DATA OU DATEPARTS
Ex.:
SELECT
DATEPART(YEAR, GETDATE()) AS ‘ANO’,
DATEPART(QUARTER, GETDATE() ) AS ‘TRIMESTRE DO ANO’,
DATEPART(MONTH, GETDATE()) AS ‘MÊS’,
DATEPART(DAYOFYEAR, GETDATE() ) AS ‘DIA DO ANO (DE 1 A 365 )’,
DATEPART(DAY, GETDATE() ) AS ‘DIA’,
DATEPART(WEEK, GETDATE() ) AS ‘SEMANA’,
DATEPART(WEEKDAY, GETDATE() ) AS ‘DIA DA SEMANA’,
DATEPART(HOUR, GETDATE() ) AS ‘HORA’,
DATEPART(MINUTE, GETDATE() ) AS ‘MINUTO’,
DATEPART(SECOND, GETDATE() ) AS ‘SEGUNDO’,
DATEPART(MILLISECOND, GETDATE() ) AS ‘MILISEGUNDO’,
DATEPART(MICROSECOND, GETDATE() ) AS ‘MICROSEGUNDO’,
DATEPART(NANOSECOND, GETDATE() ) AS ‘NANOSEGUNDO’
Função DATEDIFF(): Retorna a diferença em um número inteiro de um intervalo de duas datas usando como argumento o fragmento de comparação.
- Recebe 3 parâmetros:
- Primeiro parâmetro: fragmento da data (datepart) que desejamos
- Segundo parâmetro: data inicial que será feita a diferença
- Terceiro parâmetro: data final que será feita a diferença
- Sintaxe:
- DATEDIFF(fragment,data1,data2)
Ex.:
SELECT
DATEDIFF(YEAR, ‘2018-01-01’, GETDATE()) AS ‘ANO’,
DATEDIFF(MONTH, ‘2018-01-01’ , GETDATE()) AS ‘MÊS’,
DATEDIFF(DAY, ‘2018-01-01’ , GETDATE()) AS ‘DIAS’,
DATEDIFF(WEEK, ‘2018-01-01’ , GETDATE()) AS ‘SEMANA’,
DATEDIFF(HOUR, ‘2018-01-01’ , GETDATE()) AS ‘HORA’,
DATEDIFF(MINUTE, ‘2018-01-01’ , GETDATE()) AS ‘MINUTO’
Função DATEADD() – Tem como propósito incrementar ou subtrair valores absolutos de uma determinada data.
- Recebe 3 parâmetros:
- Primeiro parâmetro: fragmento da data (datepart) que desejamos
- Segundo parâmetro: valor que será adicionado ou subtraído da parte da data ou fragmento
- Terceiro parâmetro: data que será utilizada
- Sintaxe:
- DATEADD(parametro1, parametro2, parametro3)
Ex.:
SELECT
DATEADD(YEAR, 5, getdate() ) AS ‘ANO ADICIONADO’,
DATEADD(YEAR, -5, getdate() ) AS ‘ANO SUBTRAIDO’,
DATEADD(MONTH, 5, getdate() ) AS ‘MÊS’,
DATEADD(DAY, 5, getdate() ) AS ‘DIA’,
DATEADD(WEEK, 5, getdate() ) AS ‘SEMANA’,
DATEADD(HOUR, 5, getdate() ) AS ‘HORA’
Função DATENAME() – Tem como propósito retornar o nome da uma determinada parte da data passada .
- Recebe 2 parâmetros:
- Primeiro parâmetro: fragmento da data (datepart) que desejamos
- Segundo parâmetro: data a ser utilizada.
- Sintaxe
- DATENAME(fragmento, data)
Ex.:
SELECT
DATENAME(YEAR,GETDATE()) AS ‘ANO’,
DATENAME(MONTH,GETDATE()) AS ‘MES’,
DATENAME(WEEKDAY,GETDATE()) AS ‘DIA DA SEMANA’
Funções YEAR(), MONTH(), DAY(): São extensões da função DATEPART, porém com os argumentos de DATEPART suprimidos (implícitos).
Em vez de usar a função DATEPART (MONTH, GETDATE()) para retornar o mês, apenas utilizamos a função MONTH (GETDATE()) que produzirá o mesmo resultado.
A função EOMONTH retorna o ultimo dia do mês da data passada. A partir da versão 2012 do SQL Server.
- A função DAY retorna o dia da data passada
- A função MONTH retorna o mês da data passada
- A função YEAR retorna o ano da data passada
- A função EOMONTH retorna o ultimo dia da data passada.
- As funções DAY, MONTH e YEAR tem somente um parâmetro que é a data informada.
- Para a função EOMOTH é possível passar um segundo parâmetro opcional para incrementar ou decrementar a data.
- Sintaxe
- DAY, MONTH, YEAR (data)
- EOMONTH (data, parâmetro opcional)
Ex.:
SELECT
GETDATE() DATA_SISTEMA,
YEAR(GETDATE() ) AS ‘ANO’,
MONTH(GETDATE() ) AS ‘MÊS’,
DAY(GETDATE() ) AS ‘DIA’,
EOMONTH(GETDATE()) AS ‘ULTIMO DIA DO MES’
ISDATE(): função que verifica se uma determinada data é valida ou não.
- Recebe somente 1 parâmetro que é a data a ser validada.
- Essa função retorna um tipo inteiro, aonde:
- 0: data inválida
- 1: data válida
- Sintaxe:
- ISDATE (data)
Ex.:
SELECT ISDATE(GETDATE()) as TEST_DATE_VALID
SELECT ISDATE(‘2018-13-01’) as TEST_DATE_INVALID
Não se esqueçam de avaliar esta postagem através da ESTRELAS abaixo das redes sociais, isso vai me ajudar muito a melhorar as postagens.
Fiquem a vontade para mandar comentários, sugestões, criticas e dúvidas e etc. Esse tipo de feedback, faz com que eu estude mais, aumente o conhecimento e melhore as postagem para vocês.
Até a próxima o/
Redes Sociais: