2014-01-13 45 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

時間是日期時間格式 – trackmeifUcan

+0

他們看起來是相同的,當我打印出他們'2013 02 10'或'2013-10-10' – trackmeifUcan

回答

0

DATE_FORMAT函數返回字符集的字符串和collat​​ion.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');