sql - 跳过 SQL Server 中当前日期的月份
问题描述
SELECT
CAST('01 '+ RIGHT(CONVERT(CHAR(11), DATEADD(MONTH, -18, GETDATE()), 113), 8) AS date)
输出 : 2018-12-01
SELECT
CAST(DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE()) - 1, -1) AS date)
输出 : 2020-05-31
查询结果是从 2018 年 12 月到 2020 年 5 月,但我想跳过最后 4 个月。
我希望输出为 2018 年 7 月 - 2019 年 12 月 (2018-07-01 - 2019-12-31)
有人能帮忙吗?
谢谢
解决方案
您能否按照您对当前日期的预期检查它的最后返回日期。
SELECT CONVERT(DATE,DATEADD(DAY,-DAY(GETDATE())+31,DATEADD(MM,-MONTH(GETDATE()), GETDATE()))) AS Date;
SELECT CAST('01 '+ RIGHT(CONVERT(CHAR(11),DATEADD(MONTH,-23,GETDATE()),113),8) AS DATE)
输出
Date
----------
2019-12-31
----------
2018-07-01
推荐阅读
- php - MYSQL PDO 从 fetchAll 获取多行不起作用
- android - 如何防止我的应用在另一个应用中打开?
- javascript - 我们如何从 JS 块中读取 R 变量?
- php - 在 foreach 中使用 switch 来获取一个字符串(在 php 中)
- javascript - 如何使用事件更新 Thymeleaf
- java - Android Spotify api 响应 400
- java - 自定义应用程序类:构造函数与 onCreate()
- oracle - ORA-00001 使用 oracle 序列和休眠
- javascript - 单击按钮时调用数组
- java - 使用 Mockito/PowerMockito 模拟超类的公共方法