Deterministic scalar function to get day of week for a date

后端 未结 11 1589
孤街浪徒
孤街浪徒 2021-01-13 00:10

SQL Server, trying to get day of week via a deterministic UDF.

Im sure this must be possible, but cant figure it out.

UPDATE: SAMPLE CODE..

C         


        
11条回答
  •  感情败类
    2021-01-13 00:28

    Taken from Deterministic scalar function to get week of year for a date

    ;
    with 
    Dates(DateValue) as 
    (
        select cast('2000-01-01' as date)
        union all 
        select dateadd(day, 1, DateValue) from Dates where DateValue < '2050-01-01'
    )
    select 
        year(DateValue) * 10000 + month(DateValue) * 100 + day(DateValue) as DateKey, DateValue,        
        datediff(day, dateadd(week, datediff(week, 0, DateValue), 0), DateValue) + 2 as DayOfWeek,
        datediff(week, dateadd(month, datediff(month, 0, DateValue), 0), DateValue) + 1 as WeekOfMonth,
        datediff(week, dateadd(year, datediff(year, 0, DateValue), 0), DateValue) + 1 as WeekOfYear
        from Dates option (maxrecursion 0)
    

提交回复
热议问题