上一周在解决一个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!)
已同步至:个人文章目录索引