Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 存储过程未按预期保存十进制数_Sql Server_Stored Procedures - Fatal编程技术网

Sql server 存储过程未按预期保存十进制数

Sql server 存储过程未按预期保存十进制数,sql-server,stored-procedures,Sql Server,Stored Procedures,我有一个存储过程,其中声明了一个十进制变量 @Limit decimal 我从一个C#应用程序中传递了一个200.5的值,并使用一个普通的、非常基本的insert语句将该值插入到一个表中。该值保存为201.00,似乎由于某种原因该值被四舍五入 限制的类型是十进制(10,2),知道为什么会发生这种情况吗。您需要在参数声明中声明精度和比例-默认值是18,0 @Limit decimal(10,2) 在不声明精确精度和比例的情况下,@Limit变量默认为十进制(18,0)类型。 将其声明为Dec

我有一个存储过程,其中声明了一个十进制变量

@Limit decimal
我从一个C#应用程序中传递了一个200.5的值,并使用一个普通的、非常基本的insert语句将该值插入到一个表中。该值保存为201.00,似乎由于某种原因该值被四舍五入


限制的类型是十进制(10,2),知道为什么会发生这种情况吗。

您需要在参数声明中声明精度和比例-默认值是18,0

 @Limit decimal(10,2)

在不声明精确精度和比例的情况下,
@Limit
变量默认为十进制(18,0)类型。 将其声明为
Declare@Limit decimal(10,2)