DATE

最近更新时间:2026-05-06 16:28:12

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

范围与定义

取值范围:0001-01-019999-12-31
标准格式:遵循 ISO 8601 标准的 YYYY-MM-DD

语法与字面量 (Literals)

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

显式转换

通过显式转换,可以精准控制 DATE 与其他类型的交互。
转换方向
规则说明
示例
TIMESTAMPDATE
提取日期部分,丢弃所有时间信息(时、分、秒、微秒)。
CAST(TIMESTAMP '2023-10-01 12:00:00' AS DATE)2023-10-01
STRINGDATE
字符串必须符合 yyyy-MM-dd 或带有时间的完整格式。时间部分将被静默忽略。格式错误将报错。
CAST('2023-10-01 10:30:00' AS DATE)2023-10-01
DATETIMESTAMP
补全时间部分,默认设为当天凌晨 00:00:00。
CAST(DATE '2023-10-01' AS TIMESTAMP) '2023-10-01 00:00:00'
DATESTRING
输出格式固定的日期字符串。
CAST(DATE '2023-10-01' AS STRING)'2023-10-01'

隐式转换

在特定上下文中,系统会自动执行以下转换:
STRINGDATE:当字符串符合 yyyy-MM-ddyyyy-MM-dd HH:mm:ss.SSSSSSSSS 模式且目标字段为 DATE 类型时。
DATETIMESTAMP:当 DATE 值参与需要 TIMESTAMP 类型的运算(如与时间戳对比)时,会自动补全时间戳。