在这种情况下,如何找到分区 num 和循环截断分区表?

how can i find the partition num and loop truncate partition table in this situation?

提问人:ziggycoding 提问时间:11/15/2023 最后编辑:ziggycoding 更新时间:11/16/2023 访问量:33

问:

我要处理一些分区表,下面是分区规则(不是表模式),例如,所有数据的min(insert_date)是2023/10/01,然后会进入分区1,第二天的数据会进入分区2.....每 14 天是一个循环,所以 15th 将再次插入分区 1。

ps:这不是表模式,只是分区规则

partition                       insert date             
1          01/10/2023   15/10/2023  29/10/2023  12/11/2023  26/11/2023
2          02/10/2023   16/10/2023  30/10/2023  13/11/2023  27/11/2023
3          03/10/2023   17/10/2023  31/10/2023  14/11/2023  28/11/2023
4          04/10/2023   18/10/2023  01/11/2023  15/11/2023  29/11/2023
5          05/10/2023   19/10/2023  02/11/2023  16/11/2023  30/11/2023
6          06/10/2023   20/10/2023  03/11/2023  17/11/2023  01/12/2023
7          07/10/2023   21/10/2023  04/11/2023  18/11/2023  02/12/2023
8          08/10/2023   22/10/2023  05/11/2023  19/11/2023  03/12/2023
9          09/10/2023   23/10/2023  06/11/2023  20/11/2023  04/12/2023
10         10/10/2023   24/10/2023  07/11/2023  21/11/2023  05/12/2023
11         11/10/2023   25/10/2023  08/11/2023  22/11/2023  06/12/2023
12         12/10/2023   26/10/2023  09/11/2023  23/11/2023  07/12/2023
13         13/10/2023   27/10/2023  10/11/2023  24/11/2023  08/12/2023
14         14/10/2023   28/10/2023  11/11/2023  25/11/2023  09/12/2023

如上所示,分区 1 将包含插入日期为 10/01、10/15、10/29 的数据。 分区 2 中的数据,插入日期为 10/02、10/16、10/30...。

我的问题是: 我想截断 7 天前只有数据的分区,如何自动获取所有分区编号?

例如: 如果今天是 2023 年 11 月 16 日,那么它会插入到这个表的分区 5 中,我需要截断的分区是 6、7、8、9、10、11(就像我说的,那些分区只有 7 天前的数据) 非常感谢!

sql-server 分区

评论

2赞 GuidoG 11/15/2023
示例数据的值中的列数多于标头中的列数,这非常令人困惑
0赞 ziggycoding 11/15/2023
哦,对不起,这不是示例数据,而是分区图....就像第 1 个和第 15 个在分区 1 中,第 2 个和第 16 个在分区 2 中
1赞 Andrew 11/15/2023
需要更好的解释,你能以表格形式提供,并解释更多。你说日期,但你使用的是整数而不是 DATE 类型
0赞 ziggycoding 11/16/2023
@Andrew很抱歉,我已经编辑了分区规则的描述和示例
0赞 Squirrel 11/16/2023
datediff(day, '20231001', d) % 14 + 1

答: 暂无答案