Чтобы получить разницу между 2 датами - PullRequest
1 голос
/ 16 апреля 2009

У меня 2 свидания. Я хочу получить количество дней между двумя датами в хранимой процедуре.

Ответы [ 5 ]

12 голосов
/ 16 апреля 2009

Функция DateDiff должна делать то, что вам нужно

declare @var1 Datetime
declare @var2 Datetime

set @var1 = '2009-04-01'
set @var2 = '2009-04-16'

SELECT datediff(day,@var1, @var2 )
1 голос
/ 16 апреля 2009
USE tempdb

DECLARE @DATE1 datetime

DECLARE @DATE2 datetime

SET @DATE1 = '01/01/2000'

SET @DATE2 = '02/01/2000'

SELECT DATEDIFF(day, @DATE1, @DATE2)
1 голос
/ 16 апреля 2009

Как насчет использования функции dateDiff?

например

DECLARE @Dt INT
SET @Dt = DATEDIFF(dd,@StartDate,@EndDate) 

должен сделать трюк?

Или я что-то пропустил?

0 голосов
/ 15 мая 2009

Обратите внимание, что DATEDIFF касается только части даты. Если время включает, преобразованное вычитание может дать лучшие результаты.

DECLARE @start DATETIME
DECLARE @end DATETIME
SET @start = '20090514 00:00:00'
SET @end = '20090514 23:59:59'
PRINT CONVERT(FLOAT, (@end-@start))  -- 0.999988
PRINT DATEDIFF(DAY,@start,@end)      -- 0
0 голосов
/ 16 апреля 2009

DATEDIFF - способ сделать это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...