sql - 自动截断 SQL 中的值
问题描述
我收到一个错误,因为我的存储过程试图将一个 12 位小数的值插入到仅允许 6 个小数位的字段中。我意识到我可以在尝试将值输入表格之前对其进行四舍五入。但是,存储过程有数百次计算,我试图避免遍历和舍入每个实例。
类似于 SQL 表如何忽略重复而不抛出错误,表是否可以自动截断小数而不抛出错误?
编辑:正如 Jeroen Mostert 在评论中所解释的那样,该错误与不适合允许的十进制字符总数的数字有关,而不是与小数点本身有关。例如,我decimal(18,6)
对小数点后 10 位并不不满,而是对超过 18 个字符的数字不满意。
我没有危险地忽略算术错误,而是编写了一个脚本,以避免在程序尝试运行之前将错误数据输入到程序中,这样这些过大的值就不会引发错误。理想的解决方案是使用 try catch(或具有该容量的东西),但不幸的是,在这个漫长而长期建立的过程中,这不是一个选项。
解决方案
推荐阅读
- ios - 在 iOS 中构建 Fluttter 时出现构建错误
- centos7 - 在centos os 7服务器中安装直接管理员的php版本后,httpd服务开始重新启动
- java - 找不到指定的模块:QTJambi
- jquery - 在 jQuery DataTables 中更新单元格的正确方法
- javascript - 使用 Matrial UI 网格,但 Justify 道具不起作用?
- matlab - 如何从 app desiger 更改 simulink 掩码参数?
- javascript - 如何知道 NodeJS 中的函数定义是否已更改?
- json - 从 vibe.d 对 Json 结构进行排序
- mathjax - Mathjax 和累积布局移位
- r - 在 R 中的函数内使用 is.null