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字段中。

相关推荐
金玉满堂@bj6 小时前
PostgreSQL:企业级全能开源数据库
数据库·postgresql·开源
todoitbo6 小时前
CTE 与外层 JOIN 的条件下推:原理、边界与验证方法
数据库·join·cte
TEC_INO6 小时前
Linux56:读取人脸图片并把特征值保存到sqlite3数据库
数据库·oracle
刘~浪地球6 小时前
MongoDB分片集群实战:水平扩展海量数据
数据库·mongodb
鸽芷咕6 小时前
KingbaseES中的PL_SQL编程:存储过程、函数、触发器与包的开发指南
数据库·sql·oracle
4311媒体网6 小时前
帝国CMS新手入门教程:从零开始掌握企业级建站系统
数据库
韩小兔修媛史6 小时前
Redis面试八股文总结
数据库·redis·面试
小则又沐风a6 小时前
Linux下的Git的上传(版本控制器)
linux·数据库·git
赵渝强老师6 小时前
【赵渝强老师】PostgreSQL的数据预热扩展pg_prewarm
数据库·postgresql
小新同学^O^7 小时前
简单学习 --> 数据加密
java·数据库·学习·数据加密