У меня есть следующий запрос, выполняющийся с базой данных Sybase, которая предназначена для выбора двух предыдущих рабочих дней; игнорируя выходные (нас не волнуют праздники). Запрос работает, кроме понедельника, когда запрос возвращает только дату предыдущей пятницы - запуск запроса во вторник работает, возвращаясь в понедельник и в предыдущую пятницу. Я смотрел на него весь день и не могу понять, почему; может кто-нибудь помочь? К сожалению, в этой ситуации я не могу использовать таблицу календаря.Выберите ошибку запроса бизнес-дня
SELECT dateadd(dd, CASE DATEPART(dw, getdate())
WHEN 1 THEN -2
WHEN 2 THEN -3 ELSE -1
END, CONVERT (VARCHAR (10), dateadd(day, 0 getdate()), 102)), (SELECT dateadd(dd, CASE DATEPART(dw, CONVERT (VARCHAR (10), dateadd(day, -1, getdate()), 102))
WHEN 1 THEN -2
WHEN 2 THEN -3 ELSE -1
END, CONVERT (VARCHAR (10), dateadd(day, -1, getdate()), 102)))
Любая помощь была бы принята с благодарностью!
Какая база данных Sybase? Есть 3 разных варианта: SQLAnywhere (ASA), Adaptive Server Enterprise (ASE) или IQ – frlan
@frlan Это экземпляр ASE – Ben