Я пытаюсь написать предложение WHERE, чтобы оглянуться назад 3 дня, когда день недели - понедельник, присоединившись к таблице календаря.Заявление CASE с датами в WHERE Статья
WHERE
CASE WHEN calendar.DW = 2 Then (date_created BETWEEN DATEADD(hour,8,DATEDIFF(d,0,GETDATE()-3))
AND GETDATE() ELSE
date_created BETWEEN DATEADD(hour,8,DATEDIFF(d,0,GETDATE()-1))
AND GETDATE()
END
Я получаю сообщение об ошибке оператора «МЕЖДУ» для вышеуказанного. Можно ли делать то, что я пытаюсь, или я об этом неправильно?
Спасибо за помощь.
Пожалуйста, измените свой вопрос и добавить тег для конкретной базы данных, с которой вы работаете. 'sql' может быть любым количеством вещей ... MySQL, MS-SQL, Oracle .. –
определенно НЕ mysql. dateiff там принимает только 2 аргумента, и 'getdate()' тоже не существует. –
@MarcB - вопрос должен по-прежнему иметь соответствующий тег, поэтому нам не нужно гадать. –