bug处理记录:java.util.UnknownFormatConversionException: Conversion = 'Y'
2024-10-21 06:46:57
1. 报错:
java.util.UnknownFormatConversionException: Conversion = 'Y'
at java.util.Formatter$FormatSpecifier.conversion(Formatter.java:2691)
at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2720)
at java.util.Formatter.parse(Formatter.java:2560)
at java.util.Formatter.format(Formatter.java:2501)
at java.util.Formatter.format(Formatter.java:2455)
at java.lang.String.format(String.java:2940)
2. 导致原因:
场景:博主是在使用MyBatisPuls中,queryWrapper拼接自定义sql条件的时候,出现的该报错。
// 导致该报错是因为在 String.format() 中,存在 %的特殊字符。数据库是mysql的,所以日期格式转换需要用到 %Y-%m-%d。
String.format(" select 1 from tbl_wave where tbl_wave.waveno = tbl_picktask.waveno and DATE_FORMAT(tbl_wave.create_time, '%Y-%m-%d') = '%s' ", createDate)
4. 正确使用:
// 使用 %%Y-%%m-%%d 替代 %Y-%m-%d,即使用 % 进行转义,%% 替代 %
String.format(" select 1 from tbl_wave where tbl_wave.waveno = tbl_picktask.waveno and DATE_FORMAT(tbl_wave.create_time, '%%Y-%%m-%%d') = '%s' ", createDate)
3. 总结:
此问题属于基础知识积累问题,不是技术难题,收藏记录下来。
在 String.format() 中, %s 是一个字符串占位符,字符串中的特殊符号会影响占位符的数量与参数的匹配。
最新文章
- UEFI引导在GPT分区下安装win2008——抓住那只傲娇的win2008
- MFC 重载退出(窗口顶上最右边的x按钮)
- 常用vs快捷键
- [转载] C++ STL string的Copy-On-Write技术
- Oracle基础<;1>;--数据库设计
- Android基于GridView实现的翻牌游戏效果
- java新手笔记18 类比较
- TR069协议向导——一个帮助你了解TR069协议的简明教程(一)
- mysql中explain优化分析
- CloudStack 物理网络架构
- 百度echarts扇形图每个区块增加点击事件
- 据磁力链获得BT种子
- Node.js web快速入门 --&#160;KoaHub.js
- 如何解决更新被拒绝,因为远程版本库包含您本地尚不存在的提交。这通常是因为另外 提示:一个版本库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更 提示:(如 &#39;git pull ...&#39;)。
- Python学习笔记第二十六周(Django补充)
- [UI] 01 - CSS
- [SQLite3]connection string的连接池参数引发的错误
- 标 题: 有什么办法快速把pc上的网址发送到手机上
- 55. Jump Game (Array; Greedy)
- The YubiKey -- HOW IT WORKS
热门文章
- Elasticsearch: rollover API
- 阿里云下配置keepalive,利用HAVIP实现HA
- 连接FastDFS出现超时问题的解决办法
- 查看当前看k8s集群支持的版本命令
- 在CentOS 8服务器上搭建FastDFS环境
- Vue3.x+element-plus+ts踩坑笔记
- Vue学习之--------深入理解Vuex之多组件共享数据(2022/9/4)
- 2022年整理最详细的java面试题、掌握这一套八股文、面试基础不成问题[吐血整理、纯手撸]
- springboot+vue 实现校园二手商城(毕业设计一)
- GitLab CI/CD 自动化部署入门