Descobri recentemente, através do colega Lew Sagadilha, que já existe uma função no SQL Server que específica para fazer esse tipo de tratamento. O nome da função é Datediff, ela é responsável por retornar a contagem (inteiro assinalado) dos limites especificados de datepart cruzados entre a startdate especificada e a enddate.
Sintaxe:
DATEDIFF ( datepart , startdate , enddate )
Exemplo:
CREATE TABLE dbo.Duration
(
startDate datetime2
,endDate datetime2
)
INSERT INTO dbo.Duration(startDate,endDate)
VALUES('2007-05-06 12:10:09','2007-05-07 12:10:09')
SELECT DATEDIFF(day,startDate,endDate) AS 'Duration'
FROM dbo.Duration;
-- Returns: 1
Para informações detalhadas, consulte o site: http://msdn.microsoft.com
Nenhum comentário:
Postar um comentário