oracle与tidb时间格式化函数不兼容简述

张开发
2026/4/21 0:55:20 15 分钟阅读

分享文章

oracle与tidb时间格式化函数不兼容简述
由Oracle迁移到TiDB后时间格式会出现不兼容的情况。 Oracle用的时间格式化函数为TO_DATE转换到TiDB的时间格式化函数为STR_TO_DATE。在Oracle中TO_DATE(#{APLY_DT},’yyyy-MM-dd’)入参APLY_DT传入’20230101’时由于Oracle兼容性较好可以正常保存但在TiDB中STR_TO_DATE(#{APLY_DT},’%Y-%m-%d’)只能接受APLY_DT传入’2023-01-01’的格式传入’20230101’则会直接报错而P2员工渠道调用P32520616时所用时间控件传入的时间格式为’20230101’该格式传到后端会导致报错。解决方案全局搜索项目中的STR_TO_DATE函数并按如下方式进行整改STR_TO_DATE(#{APLY_DT},’%Y-%m-%d’)的写法直接改成STR_TO_DATE(#{APLY_DT})即可按上述写法TiDB可兼容入参为’20230101’、’2023-01-01’、’2023/01/01‘等格式并且可以成功将转换后的值保存到TiDB的date或者datetime字段中。

更多文章