sql - 如何根据 SQL 中的自定义日期范围为会计年度创建新列?
问题描述
我正在寻找一个新列,其中包括基于 SQL 中“分发日期”字段的自定义范围(请参阅下面的查询)的财政年度。这可能相对简单,但我玩了一点,但没有运气。
我希望创建的值和范围定义:
- 20 财年 = 2019 年 7 月 1 日至 2020 年 6 月 30 日
- 21 财年 = 2019 年 7 月 1 日至 2020 年 6 月 30 日
我当前查询的一个非常简化的版本:
Select
TRANSACTION_Table.DATE_OF_DISTRIBUTION
Datename(Month, TRANSACTION_Table.DATE_OF_DISTRIBUTION) as 'Transaction Month',
TRANSACTION_Table.AMOUNT
From
Transaction_Table
Where
Transaction_Table.Date_Of_Distribution between '7/1/2019' And '6/30/2021'
先感谢您!
解决方案
最简单的方法是添加 6 个月并提取年份。在标准 SQL 中,这看起来像:
extract(year from Date_Of_Distribution + interval '6 month')
众所周知,日期/时间函数依赖于数据库,因此确切的语法取决于您使用的数据库。
例如,在 SQL Server 中,它将是:
year(dateadd(month, 6, Date_Of_Distribution))
推荐阅读
- swift4 - 如何从单词或字符串中获取第一个字符
- ios - 如何在每个 TableViewCell 中进行倒计时?
- html - 如何在 Angular 2 中嵌入本地视频文件?
- python - 如何单独使用 python 在 localhost 中托管本地 html 文件
- css - svg 笔画文本在 foreignObject 中不起作用
- openai-gym - openai健身房自定义环境action_space和observation_space howto
- python - 如何在管理更新方法中从 Django 查询集中提取 id?
- highcharts - 如何在不影响数据值的情况下将javascript highchart折线图旋转-90度
- c# - ListView 在循环中删除时不刷新
- ember.js - 在哪里以及如何为 ember 引擎指定初始化程序?