我[BRKTFRT1] [decimal](7, 4
在表中有 ) 列@MyTable
。
当我尝试插入值34.1234555
时,它已成功插入34.1235
列中。实际上,我需要防止这种四舍五入并在需要任何此类舍入时引发错误。我们如何添加这样的约束?
注意:一种想法是检查输入字符串的长度。但我想将它添加为 CHECK 约束,以便开发人员不会错过这个约束。
注意:我使用的是 SQL Server 2012
注意:我并不是要“避免”四舍五入。我需要通知调用程序他们提供了不正确的值(通过引发错误)。
DECLARE @MyTable TABLE (BRKTFRT1 [decimal](7, 4) )
DECLARE @MyStringDecimal VARCHAR(20)
SET @MyStringDecimal = '34.1234555'
INSERT INTO @MyTable (BRKTFRT1) VALUES (@MyStringDecimal)
SELECT BRKTFRT1 FROM @MyTable