腾讯云数据仓库 TCHouse-X DATE

这篇说说腾讯云 DATE 类型的定义、取值范围(0001-01-01至9999-12-31)、ISO 8601标准格式及字面量语法,并详述与TIMESTAMP、STRING间的显式和隐式转换规则。 显式转换:通过CAST实现DATE与TIMESTAMP、STRING间的互转,含提取日期、补全时间等规则。 隐式转换:系统自动在STRING与DATE、DATE与TIMESTAMP间转换,需符合特定格式。

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

DATE 类型用于存储不包含时间部分的日期值(年、月、日)。

一、范围与定义

·取值范围:0001-01-01 至 9999-12-31。

·标准格式:遵循 ISO 8601 标准的 YYYY-MM-DD。

二、语法与字面量 (Literals)

声明一个 DATE 字面量时,必须使用关键字 DATE 后紧跟单引号括起来的字符串:DATE '2013-01-01'

三、显式转换

通过显式转换,可以精准控制 DATE 与其他类型的交互。

转换方向 规则说明 示例
TIMESTAMP → DATE 提取日期部分,丢弃所有时间信息(时、分、秒、微秒)。 CAST(TIMESTAMP '2023-10-01 12:00:00' AS DATE) → 2023-10-01
STRING → DATE 字符串必须符合 yyyy-MM-dd 或带有时间的完整格式。时间部分将被静默忽略。格式错误将报错。 CAST('2023-10-01 10:30:00' AS DATE) → 2023-10-01
DATE → TIMESTAMP 补全时间部分,默认设为当天凌晨 00:00:00。 CAST(DATE '2023-10-01' AS TIMESTAMP) → '2023-10-01 00:00:00'
DATE → STRING 输出格式固定的日期字符串。 CAST(DATE '2023-10-01' AS STRING) → '2023-10-01'

四、隐式转换

在特定上下文中,系统会自动执行以下转换:

·STRING → DATE:当字符串符合 yyyy-MM-dd 或 yyyy-MM-dd HH:mm:ss.SSSSSSSSS 模式且目标字段为 DATE 类型时。

·DATE → TIMESTAMP:当 DATE 值参与需要 TIMESTAMP 类型的运算(如与时间戳对比)时,会自动补全时间戳。

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