返回首页

gbase数据、南大通用产品文档:GBase8sINTERVAL 数据类型

更新日期:2024年09月11日

INTERVAL 数据类型存储表示时间范围的值。INTERVAL 类型分为两类:year-month
时间间隔和 day-time 时间间隔。
year-month 时间间隔可以表示年和月的范围,day-time 时间间隔可以表示天、小
时、分钟、秒和秒的小数的范围。
INTERVAL 值总是由表示时间单位的一个值或一串值组成。在数据定义语句(例如:
定义 INTERVAL 数据类型精度的 CREATE TABLE 或 ALTER TABLE)中,限定符必须使用以
下格式:
INTERVAL largest_qualifier(n) TO smallest_qualifier
如表 1中所示,此处 largest_qualifier 和 smallest_qualifier 关键字取自两个
INTERVAL 类中的一个。
如果 SECOND(或更大的时间单位)是 largest_qualifier,那么 INTERVAL 数据类
型的声明可有选择地指定最大时间单位的精度 n(n 的范围为 1 到 9);这不是
DATETIME 数据类型的功能。
如果 smallest_qualifier 是 FRACTION,那么还可以指定范围为 1 到 5 的小数
位。对于 FRACTION TO FRACTION 限定符,n 的上限是 5 而不是 9。有两类不可比较的
INTERVAL 数据类型:
smallest_qualifier 大于 DAY
largest_qualifier 小于 MONTH
表 6. 时间间隔类
时间间隔类
时间单位
有效条目
YEAR-MONTH INTERVAL YEAR
年数

GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 100 -
时间间隔类
时间单位
有效条目
YEAR-MONTH INTERVAL MONTH
月数
DAY-TIMEINTERVAL
DAY
天数
DAY-TIMEINTERVAL
HOUR
小时数
DAY-TIMEINTERVAL
MINUTE
分钟数
DAY-TIMEINTERVAL
SECOND
秒数
DAY-TIMEINTERVAL
FRACTION
秒的十进制小数,最多为 5 位。缺省小数位是 3 位
(千分之一秒)。要指定非缺省小数位,请写
FRACTION(n),其中 1 ≤ n ≤ 5。

如同 DATETIME 数据类型一样,可以定义 INTERVAL,从而只包括所需的部分时间单
位。但由于“月份”的构造(如在日历日期中使用时)不是具有固定天数的时间单位,所
以单个 INTERVAL 值不能组合月份和日;不支持涉及两种不同的 INTERVAL 类的操作数的
算术。
输入到 INTERVAL 列中的值不需要包括在列的数据类型声明中指定的全部时间单位。
例如,可以将具有 HOUR TO SECOND 精度的值输入定义为 DAY TO SECOND 的列中。但
是,值必须总是由连续的时间单位组成。在前面的示例中,不能只输入 HOUR 和 SECOND
值;还必须包括 MINUTE 值。
有效的 INTERVAL 文字包含 INTERVAL 关键字、要输入的值和字段限定符。(请参阅
GBase 8s SQL 指南:语法 中对文字时间间隔的论述。)当值只包含一个字段时,最大和
最小字段相同。
当在 INTERVAL 列中输入值时,必须指定值中的最大和最小字段,就如对待
DATETIME 值那样。另外,可以有选择地指定第一个字段的精度(如果最后一个字段是
FRACTION,那么还可以指定最后一个字段的小数位)。如果最大和最小字段限定符都是
FRACTION,那么只能在最后一个字段中指定小数位。
最大和最小字段的可接受限定符与表 1显示的 INTERVAL 字段的列表完全相同。
如果使用 DB-AccessTABLE 菜单但没有指定任何 INTERVAL 字段限定符,那么指定缺
省 INTERVAL 限定符 YEAR TO YEAR。
INTERVAL 值中的 largest_qualifier 最多可以为 9 位数(FRACTION 除外,它不能
超过 5 位数),但如果想要输入的值大于该字段允许的缺省位数,那么必须显式标识输
入的值中的有效位数。例如,要定义最多可存储 999 天的 DAY TO HOUR 类型的
INTERVAL,可以按以下方式进行指定:
INTERVAL DAY(3) TO HOUR
INTERVAL 文字值使用 DATETIME 文字所用的定界符(在同一 INTERVAL 值中无效的

GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 101 -
MONTH 和 DAY 时间单位除外)。下表显示了 INTERVAL 定界符。
表 7. INTERVAL 定界符
定界符
在 INTERVAL 文字中的位置
连字符
在值的 YEAR 与 MONTH 部分之间
空格
在值的 DAY 与 HOUR 部分之间
冒号
在值的 HOUR、MINUTE 与 SECOND 部分之间
小数点
在值的 SECOND 与 FRACTION 部分之间

还可以将 INTERVAL 值作为字符串输入。字符串必须包括在列的数据类型声明中指定
的同一时间单位的信息。下面示例中的 INSERT 语句显示了作为字符串输入的 INTERVAL
值:
INSERT INTO manufact (manu_code, manu_name, lead_time)
VALUES ('BRO', 'Ball-Racquet Originals', '160')
由于将 lead_time 列定义为 INTERVAL DAY(3) TO DAY,所以此 INTERVAL 值只需要
一个字段,即前导时间所需的日范围。如果字符串不包含所有字段的信息(或添加其他字
段),那么数据库服务器返回错误。有关将 INTERVAL 值作为字符串来输入的更多信息,
请参阅 GBase 8s SQL 指南:语法。
缺省情况下,INTERVAL 列的所有字段都是 2 位数,年份和小数字段除外。年份字段
存储为 4 位数。小数字段需要 n 位数,其中 1 ≤ n ≤ 5,上舍入为偶数。可以使用以
下公式(上舍入为整数个字节)来计算 INTERVAL 值所需的字节数:
(所有字段的总位数)/2 + 1
例如,INTERVAL YEAR TO MONTH 需要 6 位数(4 位用于年份,2 位用于月份)并需
要 4(即 (6/2) + 1)个字节的存储空间。
有关将 INTERVAL 用作常量表达式的信息,请参阅 GBase 8s SQL 指南:语法 中对
INTERVAL 字段限定符的描述。

当创建逻辑日志文件时,使用 LOGSIZE 配置参数来指定使用的文件大小。
onconfig.std 值
LOGSIZE 10000
单位
KB

整数值。
最小值 = 200
当数据库服务器首次初始化时,最大值 = (ROOTSIZE - PHYSFILE - 512 - (63 *
pagesize/1024)) / LOGFILES
pagesize 值是操作系统的缺省系统页大小。
如果您扩展 root dbspace 或将逻辑日志移到一个不同的 dbspace,则逻辑日志文件大小
的最大值不能超过下列与页大小相依的值:
 1 GB,当页大小 = 2 KB
 2 GB,当页大小 = 4 KB

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 101 -
此限制是日志位置可以为那些页大小描述的页的最大数目。
生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。
当您通过运行 onmode -wm 命令重置内存中的该值时。
用法
当您更改 LOGSIZE 配置参数的值时,
仅影响新的日志文件。
现有的日志文件的大小不更改。
逻辑日志大小的合计是 LOGSIZE 配置参数设置与 LOGFILES 配置参数值的乘积。然而,如
果您更改 LOGSIZE 配置参数的值,
则所有逻辑日志文件的大小合计依赖于每个大小的日志
文件的数目。
如果启用 AUTO_LLOG 配置参数,则根据需要自动地添加逻辑日志文件来提高性能,直到逻
辑日志大小合计达到可配置最大值。
要验证您的平台上数据库服务器的页大小,请运行 onstat -b 命令。
如果您声明一个智能大对象列的日志记录,则您必须确保此逻辑日志比插入或更新期间日
志记录的数据量大许多。数据库服务器不可备份打开的事务。如果许多事务是活动的,则
合计日志记录活动必须不强制打开的事务到日志备份文件。例如,如果您的日志大小是
1000 KB 且高水印是 60%,则不为智能大对象更新使用多于 600 KB 逻辑日志。当达到高
水印 600 KB 时,数据库服务器启动回滚事务。

新建查询
在“对象资源管理器”连接到服务器后,您可以使用“对象资源管理器”
打开一个新的“SQL 编辑器”窗口。
在“对象资源管理器”中右键单击数据库名称,在弹出菜单中选择“新建
查询”菜单项,如下图所示:



GBase 8a MPP Cluster 管理工具手册
南大通用数据技术股份有限公司

- 37 -

图 7-8 新建查询
选择“新建查询”菜单项后,系统会为所选数据库打开一个空白的“SQL
编辑器”,如下图所示:

图 7-9 空白的“SQL 编辑器”
在这个“SQL”编辑器中,您可以完成与该数据库相关的查询操作。关于
“SQL 编辑器”的使用,您可以参看下述章节。

GBase 8a MPP Cluster 管理工具手册

- 38 -

南大通用数据技术股份有限公司