Mendapatkan semula Bilangan Bulan Minggu dalam Jadual Kalendar
Menentukan nombor minggu dalam tempoh sebulan merupakan aspek penting dalam pengurusan kalendar. Artikel ini menangani cabaran untuk menambahkan atribut ini pada jadual kalendar sedia ada.
Untuk mengira nombor minggu tarikh tertentu, langkah berikut boleh diambil:
Dalam kes kami, kami mempunyai jadual kalendar dengan skema berikut:
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]
Untuk menambah nombor minggu bulan pada jadual ini, kami boleh melaksanakan kemas kini berikut pernyataan:
update TCalendar set = WeekNumberOfMonth = DATEDIFF(week, DATEADD(MONTH, DATEDIFF(MONTH, 0, FullDateAlternateKey), 0), FullDateAlternateKey) +1
Pertanyaan ini menggunakan fungsi DATEDIFF untuk mengira perbezaan antara tarikh semasa dan hari pertama bulan (diperolehi menggunakan DATEADD). Nombor hari yang terhasil kemudian dibahagikan dengan 7 dan ditambah dengan 1 untuk menentukan nombor minggu.
Atas ialah kandungan terperinci Bagaimana untuk Menambah Nombor Minggu Sebulan dengan Cekap pada Jadual Kalendar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!