Recentemente me perguntaram como obter a data atual sem o tempo no SQL Server.
O programador precisava saber a data no seguinte formato: yyyy/mm/dd usando o getdate() porém o tempo ele gostaria que fosse 00:00:00.0
No caso ele gostaria de limpar os dados de uma tabela a partir da meia noite de uma determinada data.
Isso é bem simples usar o DATEDIFF da seguinte forma abaixo:
SELECT DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)
Além disso caso você queria saber outras datas vou colocar outros exemplos abaixo para que dê um norte a você.
SELECT DATEADD(day, DATEDIFF(day, 0, GETDATE()), -1) -- Ontem SELECT DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0) -- Primeiro dia do mês. SELECT DATEADD(month, DATEDIFF(month, 0, GETDATE()), -1) -- Último dia do mês SELECT DATEADD(month, DATEDIFF(month, 0, GETDATE()), 31) -- Primeiro dia do próximo mês.
Esse tipo de consulta é muito utilizada para detectar datas para fazer deletes, updates e etc, além de auxiliar bastante em relatórios.
Espero que essas informações sejam úteis para vocês. Caso queiram saber mais por favor, me perguntem através dos comentários.
Grande abraço!
Saiba como a função UPPER() no SQL Server pode degradar a performance das suas consultas…
Saiba agora mesmo como você pode diminuir o RESOURCE_SEMAPHORE_QUERY_COMPILE no SQL Server. Recentemente eu trabalhei em…
Nós DBA' e desenvolvedores quase sempre temos que trabalhar com datas quando se trata de…
Quais são as diferentes maneiras de proteger o login Senha do Administrador (SA)? Todos estão…
Com os direitos que o login sa tem por padrão no SQL Server, é obrigatório…
Como um DBA, você tem a responsabilidade de garantir a segurança do aplicativo e dos…