Запрос на включение всех транзакций за текущий день + следующий день до определенного времени - PullRequest
0 голосов
/ 22 октября 2018

У меня возникли проблемы при создании запроса для всех транзакций текущего дня + 3 часа после полуночи

Это фрагмент моего запроса

where Date between '1-May-2018' and '2-May-2018' and Time <= '1754-01-01 03:00:00'

Я хочу, чтобы ВСЕ транзакции равнялись 1Май 2018 года и только сделки до 3 часов ночи за 2 мая.Как мне написать этот запрос?

Обратите внимание, что Дата и Время являются отдельными столбцами:

Образец столбца даты: 2018-10-19 00: 00: 00.000
Образец столбца времени: 1754-01-01 00: 12: 58.247

Вместо того, чтобы фильтровать только по столбцу Дата, нужно ли фильтровать и по столбцу Время?

Спасибо,

Ответы [ 4 ]

0 голосов
/ 22 октября 2018

Если вы используете SQL Server, вам нужно следующее предложение WHERE:

WHERE CAST(Date AS DATE) = CAST(CURRENT_TIMESTAMP AS DATE) OR (
      CAST(Date AS DATE) = DATEADD(DAY, 1, CAST(CURRENT_TIMESTAMP AS DATE)) AND
      CAST(Time AS TIME) <= '03:00:00'
)
0 голосов
/ 22 октября 2018

Использование оператора Между:

SELECT * FROM table
WHERE date  BETWEEN '2018-05-01 00:00:00' AND '2018-05-02 03:00:00';
0 голосов
/ 22 октября 2018

Попробуйте:

WHERE STR_TO_DATE(CONCAT(date, ' ', time), '%Y-%m-%d %H:%i:%s') BETWEEN '2018-05-01 00:00:00' AND '2018-05-02 03:00:00';

Также: какой тип столбца времени?

0 голосов
/ 22 октября 2018

использовать ниже условия, где условие

where date='2018-05-01' OR (date='2018-05-02' and TIME(time)<='03:00:00')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...