sql - 从本月获取去年的数据 SQL
问题描述
我的数据库表中有单独的列中的年份和月份。(如 2017 年,第 8 个月)我需要过滤该数据,因为我需要从今天开始的过去一年的数据。我想要返回 13 个月的数据。
如果今天是 2018 年 8 月 13 日,我只需要 2017 年 8 月到 2018 年 8 月的数据。
我是这样试的
SELECT Year,Month,News
FROM TBL_NEWS
WHERE Year >= cast(datepart(yyyy,DATEADD(yyyy,-1,getdate()))
解决方案
您已将日期分成两列。这可能很棘手。这是 12 个月数据的一种方法:
where datefromparts(year, month, 1) >= datefromparts(year(getdate()) - 1, month(getdate()), 1) and
datefromparts(year, month, 1) < datefromparts(year(getdate()), month(getdate()), 1)
如果您确实需要 13 个月的数据,<
请将<=
.
推荐阅读
- python - 使用 Python OpenCV 测量微观粒子的费雷特直径
- php - fopen(http://127.0.0.1:3000/.well-known/mercure/):无法打开流:无法解析地址“0”
- javascript - 两个事件监听器重叠 Javascript
- c++ - [class.prop]/(3.7) 似乎与 [class.prop]/(3.7.3) 矛盾。我错过了什么?
- python - 在 Anaconda 提示符下运行 .py 文件时,如何使 matplotlib 图形标题包含在窗口中
- php - PHP 从另一个命名空间调用抽象类方法
- java - 在 Android 中的 Java Websocket 服务器收到消息时,未创建 Toast 消息
- javascript - “未定义商店”Firebase 和 ReactJS 错误
- javascript - redis响应的格式问题
- javascript - 检查数组的某个元素是否与以下相同