e 地址: https://github.com/microsoft/mssql-jdbc/issues
直接搜索 BigDecimal ,像这样
回车之后,你会发现,原来你不是一个人在战斗
那就去里面找呗,发现 #1489 跟我们的问题有点像,仔细去读,发现关联了 #1912
读到 1912 的末尾,你会发现又关联了 #2051,我们去看看 2051
那就是在这里修复了呀,那它关联的版本是哪个了?
然后我们在回到我们搜索 BigDecimal 相关 issue 的时候,你会发现
12.2.0 已经发布了
如果觉得看英文的费劲,那就看中文的:Microsoft JDBC Driver for SQL Server 发行说明
这总看得懂了吧
那就将 mssql-jdbc 升级到 12.2.0 试试
入参不用统一精度,结果也正确了!
但是,又开始转折了,你以为 12.2.0 就高枕无忧了?
BigDecimal 的问题都延续到 12.3.0 了
此刻大家的心情是怎样的,请评论区留言
总结
1、当 mssql-jdbc 遇上 BigDecimal ,两种处理方式
1.1 BigDecimal 类型的入参全部统一成最高精度
1.2 版本升级到 12.2.0 ,但还是有问题,需要考虑业务是否会触发 12.2.0 的 bug
2、 mssql-jdbc 的 BigDecimal 的问题从 2016 年就开始出现了,到了现在( 2023 )还存在问题,我真的想对官方说一句
|