New in v2.0:TIME存储没有时区的时间。

别名

在CockroachDB中有以下别名: - TIME WITHOUT TIME ZONE

语法

类型TIME的常量值可以使用解释文本表示,或者使用类型TIME注释的字符串文本或强制类型为TIME来表示。

时间的字符串格式是HH:MM:SS.SSSSSS。 例如:TIME '05:40:00.000001'

CockroachDB还支持在预期TIME值的上下文中使用未解释的字符串文本(uninterpreted string literals)。

TIME的小数部分是可选的,并且四舍五入到微秒(即小数点后的六位数),以便与PostgreSQL wire协议兼容。

大小

TIME列支持最大宽度为8个字节的值,但由于CockroachDB元数据因素,总存储大小可能会更大。

示例

> CREATE TABLE time (a INT PRIMARY KEY, b TIME);
> SHOW COLUMNS FROM time;
+-------+------+-------+---------+-------------+
| Field | Type | Null  | Default |   Indices   |
+-------+------+-------+---------+-------------+
| a     | INT  | false | NULL    | {"primary"} |
| b     | TIME | true  | NULL    | {}          |
+-------+------+-------+---------+-------------+
> INSERT INTO time VALUES (1, TIME '05:40:00');
> SELECT * FROM time;
+---+---------------------------+
| a |             b             |
+---+---------------------------+
| 1 | 0000-01-01 05:40:00+00:00 |
+---+---------------------------+

由于使用Go SQL驱动程序,cockroach sqlshell会显示日期和时区。 其他客户端驱动程序可能也有类似情况, 但是,在这种情况下,日期和时区是不相关的,也不存储在数据库中。

支持的转换

TIME值可以强制转换为以下任何数据类型:

Type Details
INTERVAL 转换为午夜(00:00)以来的时间跨度
STRING 转换为格式'HH:MM:SS.SSSSSS'(微秒精度)

See Also