要得到某一天是星期几,需要用到 SQL Server 中的日期函数:datename()。

今天是星期几,例子 1:

   set language N'English'
select datename(weekday, getdate())
   Wednesday

今天是星期几,例子 2:

   set language N'Simplified Chinese'
select datename(weekday, getdate())
   星期三

今天是星期几,例子 3:

   set datefirst 1
select datepart(weekday, getdate())
   3         -- 星期三

注意:这里用到了另外一个 SQL Server 日期函数 datepart()。“set datefirst 1” 表示设置一周的第一天为星期一。在老美, 他们的一周的第一天习惯为星期天。我们可以通过 @@datefirst 函数 得到当前会话的 datefirst 设置值。

select @@datefirst
   1

你可能有疑问:“set language” 后面的语言参数是从哪里得到的? 可以得到其他国家语言中的星期几吗?当然是可以的了, 请看下面:

select alias, * from master..syslanguages

如果我想得到韩语中的星期几,可以这样:

   set language N'Korean'
select datename(weekday, getdate())

SQL Server 中的日期函数:datename() 的详细用法,请参看 SQL Server 帮助文档。