2013-02-13 34 views
1

我的数据库中有一个字段为文本,其中包含一个D-M日期值。这一年是一个新领域。所以ORDER BY ASC并不是那么难。现在我也想订购日期。 唯一的问题是,ORDER BY年ASC,ORDER BY日期不起作用。我认为是因为文本字段。 ASC在年,月,日还可以分类吗?SQL按日期排序(D-M)

谢谢!

回答

2

使用SUBSTRING_INDEX()

... ORDER BY year ASC, SUBSTRING_INDEX(date, '-', -1) ASC, SUBSTRING_INDEX(date, '-', 1) ASC 
  • SUBSTRING(date, '-', -1)会给你-(月)之后的所有内容。
  • SUBSTRING(date, '-', 1)会给你-(当天)前的一切。