1. 程式人生 > >SQL Server獲取星期幾

SQL Server獲取星期幾

網上 name sql 疑問 -- ast rst ali 得到

上一周在解決一個Bug的時候,需要在SQL Server獲取星期幾的需求,在網上搜索了下,發現一篇好的文章,特轉載下!

今天是星期幾,例子 1:

1 SET LANGUAGE N‘English‘ --設置語言,這個很重要,會導致不同的返回結果
2 
3 SELECT DATENAME(weekday,GETDATE())
4 
5 --Result: Sunday

今天是星期幾,例子 2:

1 SET LANGUAGE N‘Simplified Chinese‘ --簡體中文
2 
3 SELECT DATENAME(weekday,GETDATE())
4 
5 --result:星期日

今天是星期幾,例子 3:

1 SET DATEFIRST 7 --設置星期天為一周的第一天
2 
3 SELECT DATEPART(weekday,GETDATE())
4 
5 --result: 1 --星期天

註意:這裏用到了另外一個 SQL Server 日期函數 datepart()。“set datefirst 1” 表示設置一周的第一天為星期一。

在老美, 他們的一周的第一天習慣為星期天。我們可以通過 @@datefirst 函數 得到當前會話的 datefirst 設置值。

1 SELECT @@DATEFIRST
2 
3 --result: 7

你可能有疑問:“set language” 後面的語言參數是從哪裏得到的? 可以得到其他國家語言中的星期幾嗎?當然是可以的了, 請看下面:

SELECT alias,* FROM [master]..syslanguages  --alias 別名

如果我想得到韓語中的星期幾,可以這樣:

1 SET LANGUAGE N‘Korean‘
2 SELECT DATENAME(weekday,GETDATE())

SQL Server 中的日期函數:datename() 的詳細用法,請參看 SQL Server 幫助文檔。

本文鏈接:http://www.sqlstudy.com/sql_article.php?id=2008071601 (感謝作者的辛勤勞動,Thanks!)

SQL Server獲取星期幾