Подтвердить что ты не робот

Запрос MYSQL между двумя метками времени

У меня есть следующая запись в моей таблице БД

eventName(varchar 100) -> myEvent
date(timestamp) -> 2013-03-26 09:00:00

и я пытаюсь использовать следующий запрос;

SELECT * 
FROM eventList 
WHERE 'date' BETWEEN UNIX_TIMESTAMP(1364256001) AND UNIX_TIMESTAMP(1364342399)

то есть между 2013-03-26 00:00:01 и 2013-03-26 23:59:59

но это дает мне 0 результатов.

Я безуспешно пытался расширить диапазон дат, и в этом диапазоне определенно есть результаты.

любая помощь приветствуется.

4b9b3361

Ответ 1

Пытаться:

SELECT * 
FROM eventList 
WHERE  'date' BETWEEN FROM_UNIXTIME(1364256001) AND FROM_UNIXTIME(1364342399)

Или же

SELECT * 
FROM eventList WHERE  'date' 
BETWEEN '2013-03-26 00:00:01' AND '2013-03-26 23:59:59'

Ответ 2

Попробуй это. Меня устраивает.

SELECT * 
FROM eventList 
WHERE DATE(date) 
BETWEEN '2013-03-26' AND '2013-03-27'

Ответ 3

Вам просто нужно конвертировать ваши даты в UNIX_TIMESTAMP. Вы можете написать свой запрос так:

SELECT *
FROM eventList
WHERE
  date BETWEEN
      UNIX_TIMESTAMP('2013/03/26')
      AND
      UNIX_TIMESTAMP('2013/03/27 23:59:59');

Если вы не укажете время, MySQL примет 00:00:00 как время для данной даты.

Ответ 4

SELECT * FROM 'orders' WHERE 'order_date_time'  BETWEEN 1534809600 AND 1536718364

Ответ 5

Попробуйте следующее:

SELECT * FROM eventList WHERE
date BETWEEN 
STR_TO_DATE('2013/03/26', '%Y/%m/%d')
AND
STR_TO_DATE('2013/03/27', '%y/%m/%d')

Ответ 6

@Amaynut Спасибо

SELECT * 
FROM eventList 
WHERE date BETWEEN UNIX_TIMESTAMP('2017-08-01') AND UNIX_TIMESTAMP('2017/08/01');

Вышеупомянутый код работает, и моя проблема решена.

Ответ 7

Попробуйте код ниже. Работал в моем случае. Надеюсь это поможет!

    select id,total_Hour,
    (coalesce(weekday_1,0)+coalesce(weekday_2,0)+coalesce(weekday_3,0)) as weekday_Listing_Hrs,
    (coalesce(weekend_1,0)+coalesce(weekend_2,0)+coalesce(weekend_3,0)) as weekend_Listing_Hrs
    from
    select *,
    listing_duration_Hour-(coalesce(weekday_1,0)+coalesce(weekday_2,0)+coalesce(weekday_3,0)+coalesce(weekend_1,0)+coalesce(weekend_2,0)) as weekend_3 
    from 
    (
    select * , 
    case when date(Start_Date) = date(End_Date) and weekday(Start_Date) in (0,1,2,3,4) 
         then timestampdiff(hour,Start_Date,End_Date)
         when date(Start_Date) != date(End_Date) and weekday(Start_Date) in (0,1,2,3,4) 
         then 24-timestampdiff(hour,date(Start_Date),Start_Date)
         end as weekday_1,  
    case when date(Start_Date) != date(End_Date) and weekday(End_Date) in (0,1,2,3,4) 
         then timestampdiff(hour,date(End_Date),End_Date)
         end as weekday_2,
    case when date(Start_Date) != date(End_Date) then    
    (5*(DATEDIFF(date(End_Date),adddate(date(Start_Date),+1)) DIV 7) + 
    MID('0123455501234445012333450122234501101234000123450',7 * WEEKDAY(adddate(date(Start_Date),+1))
    + WEEKDAY(date(End_Date)) + 1, 1))* 24 end as  weekday_3,
    case when date(Start_Date) = date(End_Date) and weekday(Start_Date) in (5,6) 
         then timestampdiff(hour,Start_Date,End_Date)
         when date(Start_Date) != date(End_Date) and weekday(Start_Date) in (5,6) 
         then 24-timestampdiff(hour,date(Start_Date),Start_Date)
         end as weekend_1,  
    case when date(Start_Date) != date(End_Date) and weekday(End_Date) in (5,6) 
         then timestampdiff(hour,date(End_Date),End_Date)
         end as weekend_2
    from 
    TABLE_1
    )