更新时间:2024-11-11 GMT+08:00
日期和时间函数
以下为GaussDB M-Compatibility兼容性日期时间函数公共说明。
- 《M-Compatibility开发指南》中“函数和操作符”章节函数入参为时间类型表达式的情况:
时间类型表达式主要包括TEXT、DATETIME、DATE或TIME,但所有可以隐式转换为时间表达式的类型都可以作为入参,比如数字类型可以通过先隐式转化为TEXT,再作为时间类型表达式生效。
生效的情况根据函数有所不同,比如:DATEDIFF函数由于只计算日期的差值,所以时间表达式会当做日期来解析。TIMESTAMPDIFF函数由于计算时间差值时是根据UNIT来决定的,所以会根据UNIT选择将时间表达式当做DATE或者TIME或者DATETIME来解析。
- 函数入参为无效日期的情况:
一般而言,日期时间函数支持DATE、DATETIME的范围和MySQL保持一致。DATE支持的范围为'0000-01-01'到'9999-12-31',DATETIME支持的范围为'0000-01-01 00:00:00'到'9999-12-31 23:59:59'。虽然GaussDB支持的DATE、DATETIME范围大于MySQL,但是越界仍然算无效日期。
大部分时间函数会告警并返回NULL,只有能通过cast正常转换的日期,才是正常合理的日期。
新框架下GaussDB的大部分日期时间函数与MySQL一致,一些函数的差异如下表所示:
父主题: 系统函数