0

有没有办法我可以在表中创建一个只保存毫秒值的列。我有一个要求,我必须在列中仅存储 LLLCCC(毫秒)值。

4

1 回答 1

0

如果您需要存储一个有效的区间,您可以将其作为区间进行操作(聚合、执行区间算术等),您可以INTERVAL SECOND(1,6)在表定义中使用数据类型。如果所有值都必须小于 1 秒,则可以使用列级别约束来强制执行可接受的值范围。

CREATE VOLATILE TABLE MyTable, NO FALLBACK
(ColA SMALLINT NOT NULL,
 MyInterval INTERVAL SECOND(1,6) NOT NULL)
PRIMARY INDEX (ColA) ON COMMIT PRESERVE ROWS;

INSERT INTO MyTable VALUES (1, INTERVAL '0.244569' SECOND);

SELECT *
  FROM MyTable;

编辑:

您当然可以使用 CHAR(6)、DECIMAL(6) 或 INTEGER 将这些值存储在其本机格式之外。但是,您操作原始格式之外的值的能力变得复杂。

于 2013-06-17T17:41:29.593 回答