Как фильтровать в одном поле, используя DateAdd

Тип "FollowTrialDate" - это дата и время

Я хочу фильтровать между датами в одном поле.

Как я могу сделать фильтрацию в поле FollowTrialDate в течение последних пятнадцати дней.

Если есть ошибка, где она?

С уважением,

SELECT C.[No],
convert(date,CaseDate,103) as ModuleDate,
convert(date,FollowingTrialDate,103) as FollowingTrialDate,
ShortDescription,
Username,
Name,
Surname,
Email,
C.[Description] as [Desc],
'Davalar' as ModuleName
FROM [LegalIT_MnemonicTEST].[dbo].[Module_Case] C 
inner join [System_User] su on C.LawyerID = su.UserID 
where CONVERT(date,FollowingTrialDate,0) 
between DATEADD(DD,-15,CONVERT(date,FollowingTrialDate,0)) and 
        DATEADD(DD,0,CONVERT(date,FollowingTrialDate,0)) 

1 ответ

Решение

Попробуйте приведенный ниже код (если тип FollowTrialDate имеет дату и время, указанные в вашей базе данных)

Обратите внимание, что если ваш CaseDate или FollowTrialDate уже имеет тип 'datetime', указанный в вашей базе данных, вам не нужно сначала преобразовывать его в дату для вывода или для фильтрации данных, используемых в предложении WHERE.

SELECT C.[No],
convert(datetime,CaseDate) as ModuleDate,
FollowingTrialDate,
ShortDescription,
Username,
Name,
Surname,
Email,
C.[Description] as [Desc],
'Davalar' as ModuleName
FROM [LegalIT_MnemonicTEST].[dbo].[Module_Case] C 
inner join [System_User] su on C.LawyerID = su.UserID 
where FollowingTrialDate
between DATEADD(DAY, DATEDIFF(DAY, 0, dateadd(dd, -15, getdate())), 0) and 
        DATEADD(DAY, DATEDIFF(DAY, 0, getdate()), 0)
Другие вопросы по тегам