【问题标题】:SQL query with specific week days [closed]具有特定工作日的 SQL 查询 [关闭]
【发布时间】:2021-09-06 00:10:23
【问题描述】:

我需要从周日晚上 7 点开始检查记录。到 2021 年 5 月到 2021 年 8 月之间的星期五早上 5 点。在 where 条件下我应该如何写?

以下查询是 3 个月的,但我希望从周日晚上 7 点开始。到周五早上 5 点

l1.[PickupTime] between '2021/05/01 19:00:00' and '2021/09/01 05:00:00'

你能帮我解决这个问题吗?

【问题讨论】:

  • 1.请确认 PickupTime 的数据类型是 2。我在使用日期文字时推荐 ISO 格式 (yyyy-mm-dd)。
  • 那有什么不好的呢?我们需要一个minimal reproducible example,其中包含示例数据、您的尝试、您获得的结果以及您想要的结果。

标签: sql sql-server tsql where-clause


【解决方案1】:

嗯。 . .我想你想要:

where l1.[PickupTime] between '2021-05-01' and '2021-09-02' and
      ((datename(weekday, l1.[PickupTime]) = 'Sunday' and 
        time(l1.[PickupTime]) >= '19:00:00'
       ) or
       (datename(weekday, l1.[PickupTime]) in ('Monday', 'Tuesday', 'Wednesday', 'Thursday') or
       (datename(weekday, l1.[PickupTime]) = 'Friday' and
        time(l1.[PickupTime]) < '05:00:00'
       )
      )

【讨论】:

  • 谢谢戈登。它工作正常。
猜你喜欢
  • 2010-09-06
  • 2012-09-29
  • 2013-08-29
  • 2011-03-28
  • 2010-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-15
相关资源
最近更新 更多