【发布时间】:2015-01-27 19:51:35
【问题描述】:
我希望在 SQL Server Management Studio 中保存十进制值。
它们只是作为整数值四舍五入到最接近的值。
这是怎么做到的?如果需要更多信息,我可以得到它。
////////// 列
ProductCode int Unchecked
ProductName text Unchecked
SupplierCode nvarchar(50) Unchecked
Cost decimal(5, 2) Unchecked
Quantity int Unchecked
RetailPrice decimal(5, 2) Unchecked
/////////表格输出
ProductCode ProductName SupplierCode Cost RetailPrice Quantity
1 Milk SW11 0 1 12
这是将其添加到数据库的 SQL 代码:
SqlCommand addProduct = new SqlCommand("INSERT INTO dbo.NCAProduct VALUES(" + txtProductCode.Text + ", '" + txtProductName.Text + "', '" + txtSupplierCode.Text + "', " + txtCost.Text + ", " + txtRetail.Text + ", " + txtQuantity.Text + ");", sqlConnect);
【问题讨论】:
-
请编辑您的问题并显示用于插入数据和检索数据的语句。
-
你能给我一个你写的实际 SQL 的例子吗?如果将值存储为小数(无论是在变量中还是在表中),默认行为是将该值作为小数返回。除非您在检索数据时显式地强制转换它,或者在不知情的情况下将其放入整数列中。
-
如果
Cost的类型为decimal(5,2),则执行简单的select将显示两位小数。如果它没有显示它们,那是因为查询或之后发生的任何事情都会截断值。 -
我已经编辑了包括 SQL 代码在内的问题,以将值添加到数据库中。
标签: sql sql-server decimal ssms