我嘗試按格式爲yyyy/mm/dd
的日期排序查詢的結果,並且我正在使用此查詢無濟於事。MySQL排序查詢varchar保存日期
SELECT * FROM table ORDER BY STR_TO_DATE(date, '%y/%m/%d')
我不能改變存儲日期的字段的類型,所以我希望我可以訂購日期後數據輸入。
任何幫助和建議表示讚賞。
我嘗試按格式爲yyyy/mm/dd
的日期排序查詢的結果,並且我正在使用此查詢無濟於事。MySQL排序查詢varchar保存日期
SELECT * FROM table ORDER BY STR_TO_DATE(date, '%y/%m/%d')
我不能改變存儲日期的字段的類型,所以我希望我可以訂購日期後數據輸入。
任何幫助和建議表示讚賞。
如果日期是這種格式,你不需要將它轉換爲日期,當然?該格式將字母順序排序,假設它爲0填充...(即七月是2012 2012/07/03 7月3日...)
所以,你可以去:
select * from table order by date
什麼類型字段是你的date
字段:你確定它是一個varchar
?
假設它是一個varchar
,你可以工作,什麼是會走錯了:
select str_to_date(date, '%y/%m/%d') from table
你(應該)獲得所有空的,因爲%y
是錯誤的。嘗試:
select str_to_date(date, '%Y/%m/%d') from table
它應該工作。但如前所述,您不必轉換爲排序。
嘗試用資本Y:
SELECT * FROM table ORDER BY STR_TO_DATE(date, '%Y/%m/%d')
小寫Y是爲YY,大寫字母YYYY。
SELECT * FROM表ORDER BY日期
1,因爲此日期格式的選擇通常是專門做,因爲它是自然排序(這並不意味着它是在一個DB其提供的日期格式正確的選擇) 。 –