2017-08-02 93 views
0

任何人都可以帮助我创建自定义周视图吗?我有一张表格,每天都会给我销售额,但希望能够以每周总额的形式查看它们。Teradata中的自定义日期范围SQL

我遇到问题的地方是我需要一周显示周五到周四的数据。

我另一个论坛上发现这个代码:

CASE WHEN ((Table_date - (000101 (DATE))) + 1) MOD 7 = 6 THEN Table_date + 6 
    ELSE Table_date + (6 - (((Table_date - (000101 (DATE))) + 1) MOD 7+1)) 
    END AS fri_week_ending_date    

由此可以计算一个星期五的一周结束日期,但没有人知道如何调整它在星期四周末?我已经尝试了所有我能猜到的选项,但是我的数据似乎关闭了。或者,如果有更简单的方法来创建这些自定义周视图,我愿意接受任何想法!谢谢!

回答

0

您现有的计算过于复杂。

NEXT_DAY返回下一个工作日:

Next_Day(Table_date-1, 'fri') 

必须Table_date-1返回相同的日期时,这是一个星期五。

简单地切换到Next_Day(Table_date-1, 'thu')周四:-)