sql - МЕЖДУ таймфреймами со странной меткой времени - PullRequest
0 голосов
/ 02 февраля 2011

У меня есть столбец, который заполнен форматом даты, который полезен для другого приложения, но не форматом mysql для меток времени. Вот как это выглядит:

2010.01.28 12:00 (столбец «время») вместо отметки времени mysql: 2010-01-28 12:00:00 (столбец «время обновления»).

Мне нужно выполнить поиск по дате между двумя периодами времени, и для нормальной отметки времени mysql я бы запустил это:

SELECT * FROM table WHERE updatetime BETWEEN '$dateStart' and '$dateEnd'

, но это не работает с отформатированным столбцом времени. Я бы предпочел, чтобы этот столбец был отформатирован так, как если бы другое приложение требовало такого формата даты, поэтому кто-нибудь знает способ MYSQL для поиска МЕЖДУ двумя временными периодами в формате 2010.01.28 12:00? Запуск из скрипта PHP

Ответы [ 2 ]

4 голосов
/ 02 февраля 2011

Вы можете отформатировать время в том же формате в PHP или в MySQL

WHERE updatetime BETWEEN
        date_format('$datestart','%Y.%m.%d %H:%s')
    AND date_format('$dateend','%Y.%m.%d %H:%s')
2 голосов
/ 02 февраля 2011

Возможно, вы захотите попробовать что-то вроде этого

SELECT * FROM table WHERE STR_TO_DATE(updatetime, "%d.%m.%Y %h:%i") 
BETWEEN '$dateStart' and '$dateEnd'

для преобразования строки в дату, то есть если значения $ dateStart и $ dateEnd уже имеют правильный формат для сравнения с датой sql

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...