2009-12-23 122 views
0

我有一個MySQL數據庫有兩個字段:日期和值。 我的日期是季度(Q1-2007,Q2-2008 ...)。我希望能夠使用下面的SQL查詢:我可以使用自定義日期格式的MySQL日期字段類型

SELECT * FROM table WHERE 1 ORDER BY Date

我怎樣才能做到這一點?

+1

如果可以更改數據模型,最好將單個Date的varchar列更改爲兩個整數列:Year和Quarter。 – 2009-12-23 23:55:40

回答

2

我猜你想讓他們下令讓所有的那些2007年的順序顯示其次是2008年的,等這應該工作:

SELECT * FROM table WHERE 1 ORDER BY SUBSTRING(Date, 4, 4), SUBSTRING(Date, 1, 2); 

假設你的日期格式都是一致的,那你的'Date'列實際上是一個VARCHAR或類似的...

1

使用日期列並決定每個季度的日期。然後你可以使用內建的日期功能。

0

SELECT * FROM table WHERE 1 ORDER BY Date已經排序字段DateQ1-2007Q2-2007Q3-2007Q4-2007?如果你排序這樣的字符串,那應該是他們如何排序。

如果那麼我會創建一個數據庫來包含這些值,我寧願使用3個字段,並使用兩個不同的字段季度和年份。