@SLJ

Как отнять от даты 12 часов sql?

Доброго времени суток. Есть запрос к действующей продажной БД. СУБД Firebird 2.1. Запрос выполняется через isql.
SELECT
    C.CODE AS "Табельный",
    C.NAME AS "Ф.И.О.",
    T.TRANZDATE AS "Дата",
    max(T.TRANZTIME) AS "Время",
    T.INFOSTR AS "Карта",
    sum(T.SUMM) AS "Сумма"
FROM
    DOCUMENT D
        LEFT JOIN TRANZT T ON D.ID = T.DOCUMENTID
        JOIN CLIENT C ON T.INFO2 = C.CODE  -- òàá íîìåð
WHERE
      T.TRANZDATE = cast('now' as date) and
      T.TRANZTIME >='20:00:00' AND T.TRANZTIME <='08:00:00' AND
      D.STATE = 1 AND 
      D.ISFISCAL = 1 AND 
      T.TRANZTYPE = '36' and 
      T.INFO = '8' 
GROUP BY
    C.CODE,
    C.NAME,
    T.TRANZDATE,
    T.INFOSTR

Запрос посылается в БД 2 раза в сутки в 8 утра и в 20 вечера. Необходимо посчитать интервалы с 08:00:00 по 20:00:00 в текущей дате, делаем так:
T.TRANZDATE = cast('now' as date) and
T.TRANZTIME >='08:00:00' AND T.TRANZTIME <='20:00:00' AND

а как выполнить запрос в интервале 12.03.2020 20:00:00 по 13.03.2020 08:00:00?
T.TRANZDATE = cast('now' as date) and
T.TRANZTIME >='20:00:00' AND T.TRANZTIME <='08:00:00' AND

т.е. из текущей даты отнять 12 часов.
пробовал что-то типо того
T.TRANZDATE = dateadd (hour, -12, current_timestamp)  and

Но не выдает нужного результата. Запрос выполняется ежедневно, автоматически.
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы