sql-server - 根据多个时间条件创建列
问题描述
我有一个包含以下列的表(作为查询的一部分重新创建):
ID、期间(以整数表示的月数)、付款日期、购买日期。
我想在该过程中创建第 5 列:新建
计算将是:
如果付款日期在购买日期的 X 个月内(其中 X 是月数),则 1。
我确定这将是case
表达式 - 但我不确定如何在case
表达式中进行计算部分。
解决方案
你只是想要一个case
表情?像这样的东西:
select t.*,
(case when purchasedate >= paymentdate and
purchasedate < dateadd(month, X, paymentdate)
then 1 else 0
end)
from t;
推荐阅读
- xslt - XSLT 用于将内容从同名元素复制到同级节点
- salesforce - LWC - 创建新记录后如何刷新闪电数据表的数据?
- python-3.x - 带有 networkx 的 Twitter 主题标签网络
- gcc - 未定义对 YAML::Load 的引用
- scala - 将数据框模式加载到元数据表
- javascript - 像加载一个一样加载多个 JS 文件?
- python - Numpy,观察中变量对的频率
- gradle - Gradle:如何使用自定义配置运行自定义任务?
- javascript - React Hook useEffect 缺少依赖数组
- lodash - _.intersectionWith 在对象比较顺序更改时确实给出了正确的结果