Teradata-从当前日期计算上一季度日期的开始日期和结束日期

Teradata-从当前日期计算上一季度日期的开始日期和结束日期,teradata,Teradata,我拥有Teradata的当前_日期,即2019年12月18日 我必须从上述当前日期计算上一季度的开始日期和结束日期 Input = '2019-12-18' Output Start Date = '2019-07-01' Output End Date = '2019-09-30' 您应该能够使用TRUNC功能执行此操作,例如: 选择 TRUNC(加上月份(当前日期,-3),“Q”)作为开始季度,--上一季度开始 TRUNC(

我拥有Teradata的当前_日期,即2019年12月18日

我必须从上述当前日期计算上一季度的开始日期和结束日期

Input               =     '2019-12-18'
Output Start Date   =     '2019-07-01' 
Output End Date     =     '2019-09-30'

您应该能够使用
TRUNC
功能执行此操作,例如:

选择
TRUNC(加上月份(当前日期,-3),“Q”)作为开始季度,--上一季度开始
TRUNC(当前季度日期,'Q')-1作为结束季度-当前季度开始日期-1天
试试看,让我知道。这假设手册中的错误仍然被视为“错误”

此外,根据您使用的
TD
版本,您可能能够使用内置功能:

选择
TD\U季度开始(当前日期)作为开始季度,
TD\U季度末(当前日期)作为季度末



您应该能够使用
TRUNC
功能执行此操作,例如:

选择
TRUNC(加上月份(当前日期,-3),“Q”)作为开始季度,--上一季度开始
TRUNC(当前季度日期,'Q')-1作为结束季度-当前季度开始日期-1天
试试看,让我知道。这假设手册中的错误仍然被视为“错误”

此外,根据您使用的
TD
版本,您可能能够使用内置功能:

选择
TD\U季度开始(当前日期)作为开始季度,
TD\U季度末(当前日期)作为季度末



到目前为止,您尝试了什么?因此,这不是一个要求为您完成完整代码的地方。您需要尝试一下,如果您在尝试过程中遇到任何具体问题,我们可以提供帮助。到目前为止您尝试了什么?因此,这不是一个要求为您完成完整代码的地方。您需要尝试一下,如果您在尝试获取上一个季度时遇到任何具体问题,我们可以提供帮助:
Trunc(添加月份(当前日期,-3),'Q')作为开始季度,Trunc(当前日期,'Q')-1作为结束季度
。但更重要的是:不要使用
TD\u QUARTER\u BEGIN
,因为它基于愚蠢的业务日历,除非强制使用
TD\u QUARTER\u BEGIN(当前日期,'TERADATA')
,否则可能不会返回预期结果。它将在1900年到2100年之外失效,而TRUNC适用于所有日期。哎呀,我忘了它是上一季度的。更新。谢谢迪特。非常感谢@ravioli,@dnoeth对你的帮助!很乐意帮助:)获取上一季度:
Trunc(添加月份(当前日期,-3),'Q')作为开始季度,Trunc(当前日期,'Q')-1作为结束季度
。但更重要的是:不要使用
TD\u QUARTER\u BEGIN
,因为它基于愚蠢的业务日历,除非强制使用
TD\u QUARTER\u BEGIN(当前日期,'TERADATA')
,否则可能不会返回预期结果。它将在1900年到2100年之外失效,而TRUNC适用于所有日期。哎呀,我忘了它是上一季度的。更新。谢谢迪特。非常感谢@ravioli,@dnoeth对你的帮助!乐意帮忙:)