To get Day of the week in English in MSSQL —在MSSQL 中找出今日或某一個日子是那一個星期天

公司上的一個網上應用程式有一個功能是要把資料作統計..
是分別把每個月的數據分開入 不同星期 E.G. 星期一至星期六
之後出一個Bar Chart
由於所有數據都是在數據庫中..
所以最理想的方法當然是使用SQL 來把日子分類成
星期一至星期日..
在了一會兒Research 之後終於找到了我需要用的 SQL Code 了

我們可以用SQL 中的 DATENAME 功能來實現這個效果
E.G.
SELECT DATENAME(dw,6)
會出現 “星期日”

這是因為 數字是由0開始的
而我的資料庫Language 設定是 us_english
所以會以星期一為每週開始的第一日 而星期日會是每週的最後一日
有些Language 會設定星期日
每週開始的第一日
而星期六會是每週的最後一日

所以大家可能要小心一點

最後我把我的SQL 寫成
SELECT DATENAME(dw,StartTime), COUNT(*) AS NoOfRecord
FROM table1
GROUP BY DATENAME(dw,StartTime)
ORDER BY DATENAME(dw,StartTime)

Hope you find it useful

Leave a Reply