帮你快速理解、总结文档立即下载

DATE

最近更新时间:2026-05-06 16:28:12
我的收藏
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 类型的运算(如与时间戳对比)时,会自动补全时间戳。