post

SQL – Retirar horas de uma data

Há pequenas dicas que servem sempre para ajudar. Esta foi uma que aprendi hoje. Trata-se de uma maneira fácil e essencialmente rápida para retirar as horas e minutos de uma data em SQL:

DECLARE @date DATETIME
SET @date '2009-11-19 23:12:12'
SELECT(datediff(d, 0, @date))

O resultado final será este:

Basicamente o que faz é calcular o número de dias entre a data mínima do motor SQL e a data fornecida (datediff), e depois soma esses dias de novo à data mínima.

Como só são usadas operações matemáticas é bastante mais rápido do que converter para VARCHAR e depois de novo para DATETIME.