2010-09-01 131 views
0

我有一大堆的數據庫中的條目,這是我想通過日期排序的,但日期格式看起來像這樣Y-m-d g:i:s,我怎麼可能通過日期搜索的數據庫,而不是約會時間?訂購一個MySQL查詢結果基於日期

+0

$ SQL = 「SELECT CAST(」 $日期 「爲DATETIME作爲sortdate FROM表順序由sortdate ASC。)」; – 2010-09-01 12:36:54

回答

4

如果它是一個時間字段訂購

ORDER BY date_field ASC 

對於搜索爲此做

WHERE DATE(date_field) = '2010-05-08' 

如果它是一個varchar類型字段嘗試尋找STR_TO_DATElink

0

這很簡單。將您的日期,正確格式第一,這是YMD H:我:■

+0

它顯示了在數據庫中YMD H:I:S,但我對我怎麼可以去根據日期查詢項,並不能確定沒有日期時間,像這樣:「SELECT * WHERE日期時間='2010例如,「05-08」就是這種可能性嗎?過濾 – Odyss3us 2010-09-01 12:21:50

+0

@kielie如果它已經以正確的格式,使用日期()函數:'WHERE日期(日期時間)=「2010-05-08」「'而且應該與排序沒問題已經 – 2010-09-01 12:26:03

-1

你可以這樣做:

ORDER BY UNIX_TIMESTAMP(your_date) 

your_date日期需要先轉換爲YMD H:我:■

+0

海報沒有提到時間戳用法在表日期已經YMD H:我:■ – Jakub 2010-09-01 12:25:27

+0

如果它被轉化爲YMD H:I:S,沒有必要使用時間戳排序YMD H:我:■將責令沒事這就是目的。這種格式 – 2010-09-01 12:27:18

0

這裏是一個例子

$sql="SELECT cast(".$date." AS datetime) as sortdate FROM table order by sortdate ASC"; 

$sql="SELECT cast(DateColumnName AS datetime) as sortdate FROM table order by sortdate ASC"; 
1
select * form table where date(datetime) = '2010-05-08'