星期五, 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月 08, 2010

取得某年某月的天數

今天在網路上看文章的時候,看到"亂馬客"一篇"取得某月的天數 SQL Function",腦袋想了一想..好像還有另一種方法..所以就把這想法寫下來了..

DECLARE  @yyyy VARCHAR(4)
DECLARE @mm VARCHAR(2)

set @yyyy='2008'
set @mm='02'

select
datediff(dd,0,dateadd(mm, datediff(mm,0,@yyyy+'/'+@mm+'/01')+1,0))
- datediff(dd,0,dateadd(mm, datediff(mm,0,@yyyy+'/'+@mm+'/01'),0)) as result


這樣就可以得到結果了..有問題再討論吧..

ps:線上版的syntax highlighting好醜阿.........XDXDXD......