DATE
DATE 是日期数据类型,存储年、月、日三个部分,不包含时间和时区信息。适合存储与时间无关的日期数据,如生日、事件日期等。
语法
参数说明
| 参数 | 格式 | 说明 |
|---|---|---|
| 四位数字 | 年份,如 |
| 两位数字 | 月份,范围 01 到 12 |
| 两位数字 | 日期,范围 01 到 31(取决于月份) |
示例
-
使用 DATE 字面量:
返回:
2024-01-15 -
将字符串转换为 DATE:
返回:
2024-01-15 -
计算两个日期之间的天数差:
返回:
17 -
日期加减(使用 INTERVAL):
返回:
2024-02-14 -
将 DATE 转换为 TIMESTAMP:
返回:
(时间部分补零,按会话时区 UTC+8 显示)2024-01-15 00:00:00 -
无效日期的两种处理方式:
-
NULL 值处理:
返回:
NULL
注意事项
-
是数据类型,不是函数。日期字面量语法为DATE
,不要写成DATE'yyyy-MM-dd'
。DATE('2024-01-15') -
字面量中的无效日期(如DATE'...'
)在编译期直接报错;DATE'2023-02-29'
中的无效日期在运行期返回 NULL。处理外部输入时应使用 CAST。CAST('...' AS DATE) -
月份或日期超出有效范围时,CAST 转换返回 NULL,不会报错。
-
DATE 不包含时间信息;如需存储时间,使用
类型。TIMESTAMP -
将 DATE 转换为 TIMESTAMP 时,时间部分默认为
(会话时区),内部以 UTC 存储。00:00:00 -
日期比较直接使用
、<
、>
等运算符,无需额外转换。= -
月末日期加减月份时,结果自动对齐到目标月的最后一天,不报错:
联系我们
