我一直在使用C#函數來獲取星期幾,並且我需要在T-SQL中使用類似的函數來獲得相同的結果。在SQL Server中獲取按月份的星期(需要類似於C#功能的T-SQL函數)
public static int GetWeekNumberOfMonth(DateTime date)
{
date = date.Date;
DateTime firstMonthDay = new DateTime(date.Year, date.Month, 1);
var mon = (int)DayOfWeek.Monday;
var dofw = (int)firstMonthDay.DayOfWeek;
DateTime firstMonthMonday = firstMonthDay.AddDays((DayOfWeek.Monday + 7 - firstMonthDay.DayOfWeek) % 7);
if (firstMonthMonday > date)
{
firstMonthDay = firstMonthDay.AddMonths(-1);
firstMonthMonday = firstMonthDay.AddDays((DayOfWeek.Monday + 7 - firstMonthDay.DayOfWeek) % 7);
}
return (date - firstMonthMonday).Days/7 + 1;
}
SQL一邊的任何努力? –
我需要將c#函數精確轉換爲mssql – Ravi
在哪種情況下,您需要「9月的第X周」,其中X = 1是9月份開始的第一週嗎?這是一個奇怪的符號,你確定你的用戶會熟悉這個嗎?那麼9月的第一週是什麼時間?八月第五週? –