MySQL - ВЫБЕРИТЕ ряды между вчерашним 15:00 и сегодня 7:30. - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь вернуть строки между вчерашним 15:00 и сегодня 07:30, но не могу заставить его работать. Я попробовал следующие два метода, но они не сработали.

Примечание:

  • Getdate () должен быть CURDATE () в MySQL
  • TIMESERIAL запрещен моей учетной записи пользователя в базе данных

Примеры кодов:

where dateadd(dd, datediff(dd,0,Getdate()),0)- 1
and dateadd(dd, datediff(dd,0,Getdate()),0)- 1) + '23:59:59'

where [Table].[Date Time] Between Date()-1 + TimeSerial(18,0,0) 
                              And Date()   + TimeSerial(18,0,0)

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

Если вы используете MySQL, вы можете сделать:

where col >= curdate() - interval 1 day + interval 15 hour and
      col < curdate() + interval 7.5 * 60 minute

Вы также можете написать это немного более наглядно, как:

where col >= curdate() - interval 1 day + interval 15 hour and
      col < curdate() + interval '7:30' hour_minute
0 голосов
/ 29 августа 2018

вам нужно использовать DATE_ADD, а затем INTERVAL n HOUR OR MINUTE.

Пожалуйста, проверьте прикрепленную скрипку. http://rextester.com/JIXU4144

select DATE_ADD(current_date, INTERVAL -9 HOUR);
select DATE_ADD(current_date, INTERVAL 450 minute);


select * from temp
where createdOn between '2018-08-28 15:00:00' and '2018-08-29 07:30:00';

select * from temp
where createdOn between DATE_ADD(current_date, INTERVAL -9 HOUR) and  DATE_ADD(current_date, INTERVAL 450 minute)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...