星期五, 1月 15, 2010

中文星期排序

最近有個朋友他問我一個需求,他說他想抓出資料,然後用星期來排序,我直覺的反應不難阿只要下 order by 就好啦,可是他說不行,下了 order by 還是不會照"星期一到星期日"排序,我覺的奇怪,直接看他的資料庫,原來欄位是用中文的方式存進去(我是習慣都用數字),哈..事情不是愚人想的這麼簡單,不過事情總是有解決的方法,我們還是可以在DB裡面處理在抓出來低,看code吧..

select * from xxxTable
order by charindex(rtrim(ltrim(weekday)),'星期一,星期二,星期三,星期四,星期五,星期六,星期日')

這樣抓就對的啦..收工..

參考:
http://msdn.microsoft.com/zh-tw/library/ms186323.aspx

1 則留言:

克勞迪奧 提到...

不錯,我想可以這樣簡化嗎
select *
from xxxTable
order by charindex(right(rtrim(weekday),1),'一二三四五六日')