如何用TSQL取到给定日期所属的年、周和星期几

浏览: 1549

假设有一批日期,我如何能通过使用TSQL函数算出他们所属的是哪一年的第几周,又是星期几呢?比如

比如 2017-01-05 02:40:04.000

对应的年和周应该是 2017-wk2

它还是THURSDAY 星期四

代码如下:

 declare @thedate datetime
set @thedate = '2017-01-05 02:40:04.000'

select
LEFT(UPPER(datename(dw, @thedate)),3) as weekday,
convert(varchar(10), datepart(year, @thedate))+'-wk'+convert(varchar(10), datepart(wk, @thedate)) as yearweek

结果长这样:

Clipboard Image.png


其中的datename函数返回英文的星期几,这里我把返回值变成大写并且只截取前三个字母来作为简化的输出结果。

当然,我们需要返回的不是英文的星期几而是数字怎么办?比如周一就是1,周日就是7。- 用Datepart函数+dw来解决,如下。

Select Datepart(dw,loadtime ) as Weekday
推荐 1
本文由 Naralee 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册