在SQL Server中使用DATEDIFF函数时,如何排除某些日期



我的简单select语句看起来像这个

SELECT DATEDIFF(DAY, TTHI_CREATED_ON, GETDATE()) FROM TT_TAPE_ISSUE_HD

它工作得很好。我需要排除星期四&星期五并显示不同的天数。如何在SQL Server中实现这一点?

如果你不想避免一周中的两天,那就是星期四和星期五;星期五你可以使用下面的查询

SELECT
(DATEDIFF(dd, TTHI_CREATED_ON,  GETDATE()) + 1)
-(DATEDIFF(wk, TTHI_CREATED_ON,  GETDATE()) * 2)
-(CASE WHEN DATENAME(dw, TTHI_CREATED_ON) = 'Thursday' THEN 1 ELSE 0 END)
-(CASE WHEN DATENAME(dw, TTHI_CREATED_ON) = 'Friday ' THEN 1 ELSE 0 END)

查看此链接,它将为您提供更多想法,

如何计算";"星期二";在TSQL中的两个日期之间?

SELECT (DATEDIFF(DAY, TTHI_CREATED_ON, GETDATE())-
(datediff(day, -4, GETDATE())/7-datediff(day, -3, TTHI_CREATED_ON)/7 
+ datediff(day, -4, GETDATE())/7-datediff(day, -2, TTHI_CREATED_ON)/7 )
FROM TT_TAPE_ISSUE_HD

最新更新