日历表-月的周数

我有一个日历表,其中包含2000年至2012年的数据(2012年不是故意的!)。我只是意识到我没有月份的星期数(例如1月1,2,3,4 2月1,2,3,4)


如何计算一个月中的星期几以填写此表?


这是表架构


CREATE TABLE [TCalendar] (

    [TimeKey] [int] NOT NULL ,

    [FullDateAlternateKey] [datetime] NOT NULL ,

    [HolidayKey] [tinyint] NULL ,

    [IsWeekDay] [tinyint] NULL ,

    [DayNumberOfWeek] [tinyint] NULL ,

    [EnglishDayNameOfWeek] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [SpanishDayNameOfWeek] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [FrenchDayNameOfWeek] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [DayNumberOfMonth] [tinyint] NULL ,

    [DayNumberOfYear] [smallint] NULL ,

    [WeekNumberOfYear] [tinyint] NULL ,

    [EnglishMonthName] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [SpanishMonthName] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [FrenchMonthName] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [MonthNumberOfYear] [tinyint] NULL ,

    [CalendarQuarter] [tinyint] NULL ,

    [CalendarYear] [char] (4) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [CalendarSemester] [tinyint] NULL ,

    [FiscalQuarter] [tinyint] NULL ,

    [FiscalYear] [char] (4) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [FiscalSemester] [tinyint] NULL ,

    [IsLastDayInMonth] [tinyint] NULL ,

    CONSTRAINT [PK_TCalendar] PRIMARY KEY  CLUSTERED 

    (

        [TimeKey]

    )  ON [PRIMARY] 

) ON [PRIMARY]

GO


呼唤远方
浏览 1108回答 1
1回答

BIG阳

update TCalendar set = WeekNumberOfMonth = DATEDIFF(week, DATEADD(MONTH, DATEDIFF(MONTH, 0, FullDateAlternateKey), 0), FullDateAlternateKey) +1
打开App,查看更多内容
随时随地看视频慕课网APP