首页 > 解决方案 > 如何根据 SQL 中的自定义日期范围为会计年度创建新列?

问题描述

我正在寻找一个新列,其中包括基于 SQL 中“分发日期”字段的自定义范围(请参阅下面的查询)的财政年度。这可能相对简单,但我玩了一点,但没有运气。

我希望创建的值和范围定义:

我当前查询的一个非常简化的版本:

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'

先感谢您!

标签: sql

解决方案


最简单的方法是添加 6 个月并提取年份。在标准 SQL 中,这看起来像:

extract(year from Date_Of_Distribution + interval '6 month')

众所周知,日期/时间函数依赖于数据库,因此确切的语法取决于您使用的数据库。

例如,在 SQL Server 中,它将是:

year(dateadd(month, 6, Date_Of_Distribution))

推荐阅读