
# U0400035：GaussDB M兼容TIMESTAMP类型不支持'0000-00-00 00:00:00'作为默认值
#### 描述
**数据库类型与版本**
- 源库类型与版本：MySQL 5.5、5.6、5.7、8.0版本。
- 目标库类型与版本：GaussDB M兼容。
**语法示例**
当MySQL未启用严格模式（即sql_mode中不包含NO_ZERO_DATE）时，允许TIMESTAMP类型的字段保存'0000-00-00 00:00:00'值，但是GaussDB M兼容TIMESTAMP类型的取值范围为：1970-01-01 00:00:01 UTC \~ 2038-01-19 03:14:07 UTC，不支持'0000-00-00 00:00:00'。如下示例在GaussDB M兼容中将不支持。
```
create table test_timestamp (
    id int, 
    c_timestamp timestamp not null default '0000-00-00 00:00:00'
);
```
#### 改造建议
修改"TIMESTAMP类型'0000-00-00 00:00:00'值的转换"转换配置项，将'0000-00-00 00:00:00'转换为'1970-01-02 00:00:00'。
在MySQL中通常用'0000-00-00 00:00:00'表示该字段的值尚未被明确设定，或者在某些情况下，表示无效的日期时间值，但是如果业务中使用了该值做判断，则转换后需要排查业务将相关的判断替换成转换后的时间日期值。
