为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: DM8
【操作系统】:windows
【CPU】: 8cpu
【问题描述】*:范围分区中如何根据手机号末尾分10个区;
有个人员信息表[RY_INFO]表有人员id[ry_id],手机号[phone]2个字段,
现在创建分区表,如何按照人员手机号尾数将数据放入不同的分区表中,分区表表达式如何创建,下面SQL语句是错误的:
CREATE TABLE "RY_INFO"
(
"RYID" BIGINT NOT NULL,
"PHONE" VARCHAR(16),
CLUSTER PRIMARY KEY("RYID"))
PARTITION BY RANGE ("PHONE") [INTERVAL (MOD(CAST(SUBSTR("PHONE", -1) AS INT), 10))]
(
PARTITION "RY_INFO_P0" VALUES LESS THAN (1),
PARTITION "RY_INFO_P1" VALUES LESS THAN (2),
PARTITION "RY_INFO_P2" VALUES LESS THAN (3),
PARTITION "RY_INFO_P3" VALUES LESS THAN (4),
PARTITION "RY_INFO_P4" VALUES LESS THAN (5),
PARTITION "RY_INFO_P5" VALUES LESS THAN (6),
PARTITION "RY_INFO_P6" VALUES LESS THAN (7),
PARTITION "RY_INFO_P7" VALUES LESS THAN (8),
PARTITION "RY_INFO_P8" VALUES LESS THAN (9),
PARTITION "RY_INFO_P9" VALUES LESS THAN (MAXVALUE)
);
我这边测试了一种添加一个虚拟列作为辅助字段,是可行的,您可以试一下。