SQL DATEPART(dw,date) need monday = 1 and sunday = 7

后端 未结 12 623
[愿得一人]
[愿得一人] 2020-12-23 16:27

I have a Query where I get the WeekDay of a date but by default:

  • Sunday = 1

  • Moday = 2

  • etc.

12条回答
  •  爱一瞬间的悲伤
    2020-12-23 17:13

    I would suggest that you just write the case statement yourself using datename():

    select (case datename(dw, aws.date)
                 when 'Monday' then 1
                 when 'Tuesday' then 2
                 when 'Wednesday' then 3
                 when 'Thursday' then 4
                 when 'Friday' then 5
                 when 'Saturday' then 6
                 when 'Sunday' then 7
            end)
    

    At least, this won't change if someone changes the parameter on the day of the week when weeks begin. On the other hand, it is susceptible to the language chosen for SQL Server.

提交回复
热议问题