sql - 需要帮助理解十进制数据类型错误
问题描述
为什么第一个代码会抛出错误,而第二个代码块不会?
DECLARE @Decimal DECIMAL(4, 4)
SELECT @Decimal = 1.98761
SELECT @Decimal
GO
DECLARE @Decimal DECIMAL(5, 4)
SELECT @Decimal = 1.98761
SELECT @Decimal
解决方案
您误解了精度和规模。
DECIMAL(4,4)
有四位精度和 . . . 它们都在小数点的右边。因此,它可以包含介于 0.0000 和 0.9999 之间的值。
值 1.98761 超出了该范围。因此,一个错误。
推荐阅读
- sql-server - sqlpackage发布操作权限问题
- python - 如何序列化/反序列化来自 google documentai API 的 protobuf 响应?
- facebook - FB Ad Account API - 相同的请求参数,但不同环境下的结果不同
- linux - 如何在引导徽标上隐藏 linux 引导日志?
- delphi - 使用 THTTPRIO 进行 SOAP 调用时如何强制使用 TLS 1.2?
- android - Android - 在完成第一个活动之前打开另一个活动时未调用 onActivityResult
- python - 如何将 message.text 转换为字符串并将其保存到数据库。如何通过电报机器人下载照片。TelegramBotAPI
- flutter - Flutter:如何调用存储在变量中的类
- autodesk-forge - How to receive the RealityCapture results on an email address
- javascript - 当值 <0 时需要红色的进度条