要得到某一天是星期几,需要用到 SQL Server 中的日期函数:datename()。
今天是星期几,例子 1:
1: set language N'English'
2: select datename(weekday, getdate())
3:
4: Wednesday
今天是星期几,例子 2:
1: set language N'Simplified Chinese'
2: select datename(weekday, getdate())
3:
4: 星期三
今天是星期几,例子 3:
1: set datefirst 1
2: select datepart(weekday, getdate())
3:
4: 3 -- 星期三
注意:这里用到了另外一个 SQL Server 日期函数 datepart()。 “set datefirst 1” 表示设置一周的第一天为星期一。在老美,他们的一周的第一天习惯为星期天。我们可以通过 @@datefirst 函数得到当前会话的 datefirst 设置值。
1: select @@datefirst
2:
3: 1
你可能有疑问:“set language” 后面的语言参数是从哪里得到的?可以得到其他国家语言中的星期几吗?当然是可以的了, 请看下面:
1: select alias, * from master..syslanguages
如果我想得到韩语中的星期几,可以这样:
1: set language N'Korean'
2: select datename(weekday, getdate())
原文链接:http://www.sqlstudy.com/sql_article.php?id=2008071601
【原】:在 datefirst 变量值为 1时,不改变datefirst 值的情况下,计算星期几的方法:
假设今天星期三
1: select datepart(weekday,'2010-05-05 10:11:45.650')
返回 4
1: select (datepart(weekday,getdate())+6)%8 +(datepart(weekday,getdate())+6)/8
返回 3