【转】+【原】SQL Server 日期函数:某天是星期几

要得到某一天是星期几,需要用到 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值