鉴于我 认为 您正在尝试获得的结果,应该这样做:
SET DATEFIRST 1DECLARE @start_date DATETIME, @end_date DATETIMESET @start_date = '2011-07-11'SET @end_date = '2011-07-22';WITH Days_Of_The_Week AS ( SELECt 1 AS day_number, 'Monday' AS day_name UNIOn ALL SELECT 2 AS day_number, 'Tuesday' AS day_name UNIOn ALL SELECT 3 AS day_number, 'Wednesday' AS day_name UNIOn ALL SELECT 4 AS day_number, 'Thursday' AS day_name UNIOn ALL SELECT 5 AS day_number, 'Friday' AS day_name UNIOn ALL SELECT 6 AS day_number, 'Saturday' AS day_name UNIOn ALL SELECT 7 AS day_number, 'Sunday' AS day_name)SELECT day_name, 1 + DATEDIFF(wk, @start_date, @end_date) - CASE WHEN DATEPART(weekday, @start_date) > day_number THEN 1 ELSE 0 END - CASE WHEN DATEPART(weekday, @end_date) < day_number THEN 1 ELSE 0 ENDFROM Days_Of_The_Week
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)