2016-08-23 6 views
0

Должно быть, я делаю что-то неправильно. Я пытаюсь выполнить поиск в базе данных в столбце OrderDate, который хранится в виде строки ex. «7/21/2016 9:13:31 PM» И я хочу, чтобы преобразовать OrderDate в метку времени UNIX для оператора запроса:Как преобразовать строку в дату в mysql?

UNIX_TIMESTAMP(STR_TO_DATE(OrderDate, '%e/%c/%Y %r')) >= 
'1471496400' AND UNIX_TIMESTAMP(STR_TO_DATE(OrderDate, '%e/%c/%Y 
%r')) <= '1471669199' 

Есть много результатов в таблице, должны соответствовать этим. Но я не получаю ни одного из них. Что я делаю не так?

Я прочитал руководство и искал в интернете и не могу понять, что я делаю, поэтому, пожалуйста, не говорите мне RTM

+3

Возможный дубликат [MySQL - Конвертировать MM/DD/YY в временную метку Unix] (http://stackoverflow.com/questions/3413559/mysql-convert-mm-dd-yy-to-unix-timestamp) – xQbert

+0

7/21/2016 9:13: 31 PM - это значение в OrderDate, не получается, как его преобразовать в timestamp –

ответ

0

Это работало для меня

UNIX_TIMESTAMP(STR_TO_DATE(OrderDate, '%c/%e/%Y')) >= '$timestamp1' 
AND UNIX_TIMESTAMP(STR_TO_DATE(OrderDate, '%c/%e/%Y')) <= '$timestamp2'