sql - 如果 SQL 的情况
问题描述
我正在尝试创建一个脚本,其中星期一它会提取星期五、星期六和星期日的信息。对于周二 - 周五,脚本将拉回前一天。示例周二拉周一,周三拉周二,等等。
但是,我在写这个案例时遇到了一些麻烦。
DECLARE @start DATETIME
DECLARE @end DATETIME
SET @start='2016-05-30'
SET @end=dateadd(dd,1,@start)
Where
orderdate.CreatedDt BETWEEN @start and @end
是我所拥有的。
我发现其他类似的问题,但我不知道如何应用这些信息。例如:SQL WHERE 取决于星期几
解决方案
您可以根据当前日期的星期几执行此逻辑:
SELECT *
FROM yourtable
WHERE
yourtable.date BETWEEN
CASE WHEN datepart(dw, getDate) = 2 THEN GetDate() - 3 ELSE GetDate() - 1 END
AND
GETDATE() - 1
推荐阅读
- php - 如何使用代码点火器从 mysql 工作台获取单行?
- java - 即使按顺序包含,如何打印奇数
- jquery - Barbajs Pjax重新初始化jquery
- php - 致命错误:在第 18 行的 /membri/progettoditelematica2019/index.php 中的 null 上调用成员函数 prepare()
- python - 我无法将值插入 tkinter 列表框
- python - 如何修复 KeyError:'w'。在 python 中进行字符串格式化时得到它
- vue.js - 方法中的await axios请求未及时完成
- groovy - 通过 Moqui 中的 groovy 连接到 gremlin 服务器
- python - 如何暂停一个函数,并在没有线程的情况下恢复它
- javascript - 我想从闭包外部更改变量“inner”的值,但我的输出似乎未定义