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

相关推荐
雨辰AI4 分钟前
SpringBoot3 整合达梦 DM9 超详细入门实战|从零搭建可直接上线
数据库·微服务·架构·政务
我是一颗柠檬16 分钟前
【MySQL全面教学】MySQL性能优化实战Day13(2026年)
数据库·后端·sql·mysql·性能优化·database
AI人工智能+电脑小能手34 分钟前
【大白话说Java面试题 第84题】【Mysql篇】第14题:为什么用 InnoDB 存储引擎的表建议用整型的自增主键?
java·开发语言·数据库·mysql·面试
张彦峰ZYF1 小时前
检索增强生成(RAG)系统的基础:全面深入矢量数据库
数据库·大模型·rag
Elastic 中国社区官方博客2 小时前
我们如何在 Elasticsearch Serverless 上将向量搜索吞吐量提升一倍
大数据·数据库·人工智能·elasticsearch·搜索引擎·云原生·serverless
一 乐2 小时前
高校实习信息发布网站|基于Spring Boot的高校实习信息发布网站的设计与实现(源码+数据库+文档)
java·数据库·spring boot·后端·论文·毕设·高校实习信息发布网站
weelinking2 小时前
【产品】11_实现后端接口——数据在背后如何流动
java·人工智能·python·sql·oracle·json·ai编程
zgl_200537792 小时前
源代码:跨数据库通用SQL语法解析与标注拆解
大数据·数据库·数据仓库·sql·etl·源代码管理
雪度娃娃3 小时前
存储器层次结构——磁盘硬盘存储
服务器·网络·数据库·计算机组成原理
暴力求解3 小时前
Mysql数据库基础
数据库·mysql·操作系统