sql - 通过使用 SQL Server 2008 给出默认的月份日期来计算日期
问题描述
我需要通过从另一个日期中减去一个日期来计算未来的日期。问题是我要减去的日期字段在一个月中有很多天......即 2020 年 10 月 27 日或 2020 年 11 月 30 日。我需要做的是,无论月份是哪一天,我都需要减去月份,就好像它是一个月的第一天一样,不管它是什么。
因此,例如我有一个日期 12/31/2020 我需要从该日期减去另一个日期 10/23/2020 但我需要默认 10/23/2020 到 10/01/2020 并且对于任何其他日期都相同我会从原始日期中减去。有任何想法吗?
解决方案
您可以获取该月的第一天,然后使用 datediff 获取日期差异。
DECLARE @table table(fromdate date,todate date)
insert into @table
VALUES ('2020-10-27','2020-12-31')
SELECT datediff(day, DATEADD(month, DATEDIFF(month, 0, fromdate), 0),todate) AS DifferenceDays
from @table
+----------------+
| DifferenceDays |
+----------------+
| 91 |
+----------------+
推荐阅读
- wordpress - POST 方法时拒绝 wordpress wp-admin/post.php 的访问
- vuetify.js - Vuetify v-text-field:如何根据规则自动设置成功状态
- spring - 如何在 Spring Reactor Web 应用程序中执行一系列操作并确保一个操作在下一个操作之前完成?
- r - 从带有“lda2”、“qda”、“lda”的 Caret 训练模型中检索变量重要性
- signal-processing - 如何消除无线电信号的瞬态
- c# - 绑定到显式接口索引器实现
- ruby - RVM 安装 Ruby 2.1.2:配置:错误:无法计算 sizeof (long long)
- sql - 匹配没有国民身份证的人
- web-scraping - 美丽的汤4,findAll
- reactjs - 如何在 React JS 中创建全局可访问的变量