Sql 在DB2上查询分区范围
我想通过查询找到DB2范围分区的起点和终点。是否可以从任何系统表中查询这些值?Sql 在DB2上查询分区范围,sql,db2,database-partitioning,db2-luw,Sql,Db2,Database Partitioning,Db2 Luw,我想通过查询找到DB2范围分区的起点和终点。是否可以从任何系统表中查询这些值? 为我的问题提供更多的背景: 我们修改了一些大型表,以便将它们划分为日常部分: CREATE TABLE orders(id INT, CRDTTM TIMESTAMP, …) PARTITION BY RANGE(CRDTTM) ( (STARTING ('2014-10-01') ENDING ('2015-15-31') EVERY 1 DAY) ) 之后是否可以使用普通SQL查询起点和终点?
为我的问题提供更多的背景:
我们修改了一些大型表,以便将它们划分为日常部分:
CREATE TABLE orders(id INT, CRDTTM TIMESTAMP, …)
PARTITION BY RANGE(CRDTTM)
(
(STARTING ('2014-10-01') ENDING ('2015-15-31') EVERY 1 DAY)
)
之后是否可以使用普通SQL查询起点和终点?我需要修改我们使用的存储过程,以便它过滤时间戳超出此范围的行(这些表位于数据仓库中,该仓库仅加载来自短时间段的数据)
至于环境:我们正在SUSE Enterprise 11服务器上运行DB2LUWVersion10.5。有问题的表格是基于行的。此信息在系统目录中。挑战在于找到地点和方式。分区表达式本身位于恰当命名的
syscat.datapartitionexpression
中
重新创建特定分区信息需要将多个视图连接在一起。示例查询可能会有所帮助
您应该会发现有帮助。请查看表
SYSCAT.DATAPARTITIONS
,特别是LOWVALUE
、HIGHVALUE
以及LOWINCLUSIVE
和HIGHINCLUSIVE
列。谢谢您的建议。我一直在查找系统目录,但找不到我需要的数据syscat.datapartitionexpression
只保存列名,而我需要分区范围的上限和下限。@borst.philipp。我希望字段DATAPARTITIONEXPRESSION
实际包含表达式。您需要解析它以获得最小值和最大值。谢谢,如果我获得每个表的最大/最小值,这将起作用。