我想計算一個月的週數,我想計算一下它的週數是否在奇數或偶數週我怎樣才能在TSQL中得到這個? 謝謝大家!TSQL計算月份的月份數
6
A
回答
6
這給你的日起一個月內@dt的一週。有一個使用CASE語句上的表達,顯示無論是「奇」或「偶」第2個欄
declare @dt datetime
set @dt = GETDATE()
select
WhichWeekOfMonth = datepart(wk, @dt)
- datepart(wk,dateadd(m, DATEDIFF(M, 0, @dt), 0)) + 1,
case when (datepart(wk, @dt)
- datepart(wk,dateadd(m, DATEDIFF(M, 0, @dt), 0)) + 1) % 2 = 1
then 'Odd' else 'Even' end
0
試試這個:
SELECT (DATEPART(d, '02/07/2011')/7)%2 AS WeekNo, --Replace your date column in place of '02/07/2011'
CASE (DATEPART(d, '02/07/2011')/7)%2
WHEN 1 THEN 'Odd'
ELSE 'Even'
END AS WeekType
+0
給出了錯誤的答案(按我的定義 - 見我答案) - 它表示它在第1周 – RichardTheKiwi 2011-02-07 23:47:42
+0
上面的查詢給出了給定的日期是一週中哪一週是偶數週還是奇數週... – Chandu 2011-02-07 23:49:13
4
它會給你一週號每個月
declare @dates datetime
select @dates='2011-03-22'
SELECT datepart(dd,@dates), ceiling (cast(datepart(dd,@dates)as numeric(38,8))/7)
3
怎麼樣東西可讀,輕鬆定製和可預測...
DECLARE @dayOfMonth AS INT;
SET @dayOfMonth = DATEPART(DAY, '3/14/2013');
SELECT CASE
WHEN @dayOfMonth < 8 THEN 1
WHEN @dayOfMonth < 15 THEN 2
WHEN @dayOfMonth < 22 THEN 3
ELSE 4
END AS weekOfMonth;
0
我認爲這使得該方法非常明顯:
DECLARE @DayOne DATETIME
DECLARE @ThisDay DATETIME
SET @ThisDay = GETDATE()
SET @DayOne = CAST(CAST(MONTH(@ThisDay) AS VARCHAR) + '/1/' + CAST(YEAR(@ThisDay) AS VARCHAR) AS DATETIME)
SELECT (DATEPART(wk, @ThisDay) - DATEPART(wk, @DayOne) + 1) AS [Week Of Month]
SQL Server 2012中有一個可以用於更容易建立DayOne字符串CONCAT功能:
DECLARE @DayOne DATETIME
DECLARE @ThisDay DATETIME
SET @ThisDay = GETDATE()
SET @DayOne = CAST(CONCAT(MONTH(@ThisDay), '/1/', YEAR(@ThisDay)) AS DATETIME)
SELECT (DATEPART(wk, @ThisDay) - DATEPART(wk, @DayOne) + 1) AS [Week Of Month]
相關問題
- 1. 計算月份
- 2. Tableau月份之間的月份計數
- 3. 計算月份統計
- 4. 計算月份和年份的日期
- 5. 如何計算epoch月份?
- 6. 計算月份壽命列
- 7. nHibernate按年份和月份計算
- 8. 計算函數與月份換算
- 9. 使用Codeigniter計算特定月份的所有月份
- 10. 月份名稱到月份編號 - 03月份是2月份?
- 11. 計算給定月份的週數
- 12. pandas:計算月份的發生次數
- 13. 計算同一月份的行數
- 14. 在Oracle SQL中計算月份變化月份
- 15. 試圖計算月份月份百分比增加/減少
- 16. 減去月份的月份
- 17. 月份分組 - 每月獲得計數
- 18. 在SQL Server中獲取當前月份數量,1月份爲1月份,12月份爲12月份
- 19. 如何計算未完成月份的月平均數
- 20. SQL Date_Format月份數到月份名稱
- 21. 月份數到月份名稱
- 22. Codeigniter使用月份計數?
- 23. Android日曆計數月份
- 24. MySQL:計數連續月份
- 25. 計算Google BigQuery中的月份差異
- 26. 根據Julian日曆計算的月份
- 27. 月份計算的最後一天
- 28. 12個滾動月份的MDX計算
- 29. 計算月份變化的時差
- 30. Solr計算月份的最後一天
列表中的一些樣本日期和預期產出 – RichardTheKiwi 2011-02-07 23:44:54