SELECT *
FROM services
WHERE service_date BETWEEN (dateadd(DD, -1, getdate())) AND (dateadd(DD, 1, getdate())) **---Gives us a last one day data.**
но то, что нам действительно нужно, данные 07:00 AM
вчера 06:59 AM
текущий день, так что я попытался следующие:SQL запрос, чтобы выбрать диапазон от определенной даты/времени вчера на конкретные даты/времени текущего дня
SELECT *
FROM services
WHERE service_date BETWEEN (dateadd(DD, -1,((DatePart(hh, getdate())) >= 7))) **-- Expecting to pull from yesterday 07:00**
AND (dateadd(DD, -1,((DatePart(hh, getdate())) <= 6))) **-- to current day till 06:59**
, но системе не нравились мои навыки SQL ... ПОЖАЛУЙСТА, ПОМОГИТЕ ...!
Что RDBMS вы используете? MS SqlServer? –
Избавьтесь от функций 'DatePart' и измените' DATEADD (DD ... 'на' DATEADD (hh ... 'вместо вычитания количества часов. – Morpheus
Решения, которые я получил, велики, но я забыл упомянуть, что я запрос из связанного Sybase Server, как мне изменить одно из заданных решений для работы с Sybase? Похоже, что sybase не имеет датиффа. – Altimo