【问题标题】:How can I exclude some days when using DATEDIFF function in SQL Server? [duplicate]在 SQL Server 中使用 DATEDIFF 函数时如何排除某些日子? [复制]
【发布时间】:2018-11-05 06:43:38
【问题描述】:

我的简单选择语句如下所示

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

完美运行。我需要排除 ThursdayFrid​​ay 并显示不同的天数。如何在 SQL Server 中实现这一点?

【问题讨论】:

  • 你是什么意思I need to exclude Thursday & Friday and display the number of days different?是否要排除 GETDATE()TTHI_CREATED_ON
  • 您能提供一些示例数据并期待结果吗?
  • 您好,我的意思是当在 DATEDIFF 函数中传递 2 个日期时,它不应该计算星期四和星期五。
  • 检查这个问题,它应该会有所帮助。 Exclude Weekends and get time in SQL

标签: sql sql-server tsql datediff date-difference


【解决方案1】:

如果您不想避免一周(周四和周五)的 2 天,您可以使用以下查询

 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)

【讨论】:

  • 这就是我想要的。坦克你。
【解决方案2】:

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

How to calculate the number of "Tuesdays" between two dates in 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 2016-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多