当前位置: 首页 > 图文教程 > 数据库 > MSSQL > sql server中的decimal或者numeric的精度问题

MSSQL
SQL Server服务器内存升级后的烦恼
SQL Server数据库超级管理员账号防护
微软证实最新的关键SQL Server漏洞
在SQL Server 2000数据仓库中使用分区
深入探讨SQL Server 2008商务智能(BI)
正确理解SQL Server四类数据仓库建模方法
SQL Server中读取XML文件的简单做法
教程:打造SQL Server2000的安全策略
Windows存储 SQL行溢出 差异备份及疑问
保护SQL服务器的安全 用户识别问题
SQL Server数据在不同数据库中的应用
关于SQL Server中索引使用及维护简介
在SQL Server中使用CLR调用.NET方法
50种方法巧妙优化SQL Server数据库
比较SQL Server约束和DML触发器
从IIS到SQL Server数据库安全
在SQL server2005数据库下创建计划任务
SQL Server保障数据一致性的法宝
数据库备份过程中经常遇到的九种情况
轻松解决ORA-12560: TNS 协议适配器错误

MSSQL 中的 sql server中的decimal或者numeric的精度问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 257 ::
收藏到网摘: n/a

在sql server中定义列的数据类型decimal时需要制定其精度和小数位数。 何谓精度:最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数。该精度必须是从 1 到最大精度 38 之间的值。默认精度为 18。
小数位数:小数点右边可以存储的十进制数字的最大位数。小数位数必须是从 0 到 p 之间的值。仅在指定精度后才可以指定小数位数。默认的小数位数为 0;因此,0 <= s <= p。最大存储大小基于精度而变化。
在c sharp中调用传递SqlParameter参数时也需要制定参数的精度和小数的位数,如下面的例子声明一个精度为18小树位数为2的decimal类型参数:
复制代码 代码如下:

SqlParameter parm = new SqlParameter("@parmName", SqlDbType.Decimal);
parm.Precision = 18;
parm.Scale = 2;