sql - 基于 getdate 的动态日期更改
问题描述
我们的一个依赖表仅在每月的第三天提供,我需要在前两天编写一个查询,它应该检查从第三天到当前月份数据的上个月数据。
尝试了CASE
不起作用的表达式
select case when datepart(day, getdate()) <= 2
then (select * from T1 where date in (201904,201903))
else (select * from T1 where date in (201905,201904))
end
我知道我的方法是错误的,需要帮助才能实现我的要求。
解决方案
有点猜测,但像这样的东西?
SELECT {Columns}
FROM {Your Table} YT
WHERE YourDateColumn >= DATEADD(MONTH, DATEDIFF(MONTH, 0, DATEADD(DAY, -2, GETDATE())),0)
AND YourDateColumn < DATEADD(MONTH, DATEDIFF(MONTH, 0, DATEADD(DAY, -2, GETDATE()))+1,0);
推荐阅读
- amazon-web-services - 无法通过 CFT 在 CodeBuild 项目上成功设置 SNS,但手动工作
- rust - Does Rust have an elegant way to manipulate values further when assigning a value from a block statement?
- apache-kafka-connect - MirrorSourceConnector 不消耗
- javascript - 更新服务器内存中的对象与从数据库中提取更新的对象
- javascript - 提高大表数据集的渲染性能
- python-3.x - 'NoneType' 对象不适用于 beautifulsoup
- git - 可以为我的代码中的每一个小变化创建新的分支吗?
- android - 错误:无法解决:cardview 受影响的模块:app
- python - 嵌套 For 循环 - 美丽的汤文本
- python - 如何使用 Python2.7 使用请求将 JSON 作为文件发送而不将文件写入磁盘?