云数据库 TAURUSDB-INTERVAL RANGE:SET INTERVAL子句支持

时间:2024-12-03 09:29:32

SET INTERVAL子句支持

支持使用SET INTERVAL子句修改INTERVAL RANGE表定义的INTERVAL子句间隔类型和间隔值,也可实现消除或添加INTERVAL子句。

语法:

ALTER TABLE table_name SET INTERVAL {() | (type, value) | (value)};
表4 参数说明

参数名称

参数说明

type

目前支持8种时间类型(YEAR、QUARTER、MONTH、WEEK、DAY、HOUR、MINUTE、SECOND),不显式指定默认是数字类型的间隔。

value

指定间隔的数值大小。当type为SECOND类型时,间隔不能小于60。

示例:

修改INTERVAL RANGE表的INTERVAL类型和值。

CREATE TABLE orders(
  orderkey BIGINT NOT NULL,
  custkey BIGINT NOT NULL,
  orderdate DATE NOT NULL
)
PARTITION BY RANGE COLUMNS(orderdate) INTERVAL(MONTH, 1) (
  PARTITION p0 VALUES LESS THAN('2021-10-01')
);
​
ALTER TABLE orders SET INTERVAL(YEAR, 1);

实现RANGE表和INTERVAL RANGE表之间的转化。

CREATE TABLE orders(
  orderkey BIGINT NOT NULL,
  custkey BIGINT NOT NULL,
  orderdate DATE NOT NULL
)
PARTITION BY RANGE COLUMNS(orderdate) INTERVAL(MONTH, 1) (
  PARTITION p0 VALUES LESS THAN('2021-10-01')
);
​
# 删除INTERVAL子句
ALTER TABLE sales SET INTERVAL();
​
# 添加INTERVAL子句
ALTER TABLE sales SET INTERVAL(DAY, 60);

即使当前功能开关rds_interval_range_enabled关闭,"ALTER TABLE table_name SET INTERVAL()"语句也可使用(用于消除INTERVAL RANGE表的INTERVAL子句定义信息,转化为普通RANGE表)。

support.huaweicloud.com/kerneldesc-gaussdbformysql/gaussdbformysql_20_0051.html