腾讯云数据仓库 TCHouse-X TIMESTAMPNTZ

TIMESTAMPNTZ 用于存储纯粹的日期和时间值。它不包含时区信息,也不随系统时区的改变而变化,仅代表字面上的时间点。

相关产品
腾讯云数据仓库 TCHouse-X 产品页,含版本规格、价格与购买入口。

一、核心属性

·字段构成:包含年、月、日、时、分、秒。

·时区无关性:在写入、读取或函数转换时,均忽略时区。即使输入字符串包含时区后缀,也会被自动截断/忽略。

·存储精度:支持微秒 (microsecond) 级别。

·取值范围:0001-01-01 00:00:00.000000 至 9999-12-31 23:59:59.999999,超出此范围可能引发系统异常,请避免使用。

二、语法说明

在 CREATE TABLE 语句中,以下两种写法等效:

column_name TIMESTAMPNTZcolumn_name TIMESTAMP_NTZ

三、运算表达式

支持使用 INTERVAL 关键字或日期函数进行时间偏移计算:

timestamp_value [+|-] INTERVAL 'interval_expression'

四、INTERVAL 表达式

可以使用 INTERVAL 配合运算符实现灵活的时间加减。

·支持单位:YEAR[S], MONTH[S], WEEK[S], DAY[S], HOUR[S], MINUTE[S], SECOND[S]。

·限制条件:每个 INTERVAL 表达式仅能指定一种单位。

·复合运算示例:

— 通过连续计算实现任意粒度的偏移timestamp_value + INTERVAL '3 WEEKS' – INTERVAL '1 DAY'

五、字符串解析

·标准格式:'yyyy-MM-dd HH:mm:ss.SSSSSS'

·兼容性:支持前导零省略(如 2018-1-1)以及日期或时间的单独输入。

·弹性规则:

·忽略时区:例如 '1999-12-01 01:02:03 America/New_York' 会被解析为 '1999-12-01 01:02:03'。

·忽略空白:自动忽略字符串两端的空格、制表符(\\t)、换行(\\n)或回车(\\r)。

·灵活分隔符:CAST 转换时,日期与时间之间可用 空格 或 T 分隔

六、转换时的特殊处理

·NULL 处理:若字符串格式无法识别或数值非法(如小时超出 23),结果返回 NULL 而不报错。

·2038 问题:相关函数底层采用 BIGINT 处理,避免了传统 32 位整型的时间溢出风险。

七、分区注意事项

TIMESTAMPNTZ 列不可以作为分区键。

八、基础转换与函数示例

— 自动忽略字符串中的时区信息SELECT CAST('2024-05-20 14:00:00 America/New_York' AS TIMESTAMPNTZ); — 返回: 2024-05-20 14:00:00 (不会进行时区转换)– 非法格式返回 NULLSELECT HOUR('1970-01-01 27:30:00'); — NULL (小时越界)– 日期加减SELECT DATE_ADD('2004-06-13', 365); — 2005-06-13 00:00:00

九、表操作示例

CREATE TABLE dates_and_times (t TIMESTAMPNTZ);INSERT INTO dates_and_times VALUES ('1966-07-30'), ('1985-09-25 17:45:30.005'), ('08:30:00'); SELECT * FROM dates_and_times;+————————-+| t |+————————-+| 1966-07-30 00:00:00 || 1985-09-25 17:45:30.005 || NULL |+————————-+

赞 (0)
上一篇 4天前
下一篇 4天前