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

相关推荐
乐橙开放平台5 分钟前
养殖 SaaS 笔记:乐橙 IoT 物模型管环境,视频 OpenAPI 管回看
数据库·笔记·物联网·mysql·音视频
草莓熊Lotso7 分钟前
【LangChain】输出解析器全解:让大模型输出从 “聊天” 变 “机器可读”
服务器·数据库·python·langchain·pip
GuWenyue30 分钟前
放弃云端API!5套技术栈实战WebGPU端侧AI,前端独立跑本地大模型,省成本还保隐私
前端·数据库·人工智能
鸽芷咕2 小时前
MySQL/PostgreSQL 迁移金仓 KES:LEFT JOIN 丢数据排查与避坑指南
数据库·mysql·postgresql
2401_8414956412 小时前
【数据结构】B+树
数据结构·数据库·c++·b+树·概念·结构·操作原理
Hardworking66614 小时前
第7章 软硬件系统集成
数据库·软硬件系统集成
名字还没想好☜14 小时前
Go 的 time.Ticker 陷阱:定时任务里被忽略的内存泄漏与正确关闭
java·数据库·golang·go·定时器
熊猫钓鱼>_>14 小时前
Redis 突发缓存穿透:一次完整的定位复盘
数据库·人工智能·redis·缓存·ai·agent·智能
wenb1n15 小时前
MySQL诊断系列(3/6):索引分析——5个SQL揪出“僵尸索引”
数据库·人工智能·编程语言