sql-server - 在我的 where 子句过滤器中排除周末
问题描述
我正在使用 SQL Server 2014。我有以下查询:
Use MyDatabase
select *
from Table1
where [CreatedOn] between '2019-01-01' and '2019-12-31'
我需要过滤,[CreatedOn]
以便排除指定日期之间的所有周六和周日。
执行此操作的正确语法是什么?
解决方案
Where [CreatedOn] between '2019-01-01' and '2019-12-31'
and DATEPART(WEEKDAY,[CreatedOn]) not in (6, 7)
请注意,在某些文化中,星期日是一周的第一天。如果是这种情况,您需要更改not in (6, 7)
为not in (7, 1)
你可以检查一周的第一天SELECT @@DATEFIRST
推荐阅读
- spring-security - Zuul Gateway 通过 Eureka Server 启动时出现未经授权的异常
- python - ProcessPoolExecutor 以非直观的方式提高性能
- c++ - 为什么 mpfr_printf 与十六进制浮点数的 printf 不同(%a 转换说明符)?
- c++ - 在遍历处理程序向量时注册和取消注册处理程序
- amazon-lex - 在未识别意图后,Amazon lex 路由到 amazon connect 聊天
- image - 在markdown中包含图像时如何转义文件名中的空格?
- embedded - 在新项目中重新组织 STM32 代码示例会减慢代码速度
- deep-learning - YOLOv3 迁移学习性能比其官方权重差
- python - cx_Freeze 错误:基线图像目录不存在
- elasticsearch-aggregation - 在 `must` 中使用 `aggs` 的弹性查询