2014-01-13 4 views
0

Почему мое сравнение дата не работает,date_format разбора не работает

в основном возвращаются либо все даты или ни

Select DATE_FORMAT(time,'%Y - %m - %d'),'2013 - 01 - 10' 
FROM signature,files 
WHERE files.id = signature.id and instruction like '%BM%' 
    AND DATE_FORMAT(time,'%Y-%m-%d') < date('2013-01-10') ; 

не возвращает результат. когда я изменяю DATE_FORMAT(time,'%Y-%m-%d') < '2013-01-10' же и даже эта DATE_FORMAT(time,'%Y %m %d') не работает

+0

Какой формат даты вы использовали? –

+0

Время равно формату datetime – trackmeifUcan

+0

они выглядят одинаково, когда я распечатываю их как «2013 02 10», так и оба «2013-10-10». – trackmeifUcan

ответ

0

DATE_FORMAT функция возвращает строку с набором символов и collation.I не уверен, если вы получите правильное сравнение с помощью DATE_FORMAT функции.

Select DATE(time),'2013 - 01 - 10' 
    FROM signature,files 
    WHERE files.id = signature.id and instruction like '%BM%' 
    AND Date(time) < Date('2013-01-10') ; 

или использовать STR_TO_DATE функция.

SELECT STR_TO_DATE('2013,05,01','%Y,%m,%d'); 
Смежные вопросы