sql server中的decimal或者numeric的精度问题
更新时间:2009年05月06日 01:37:27 作者:
在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;
小数位数:小数点右边可以存储的十进制数字的最大位数。小数位数必须是从 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;
您可能感兴趣的文章:
- MySQL server has gone away 问题的解决方法
- MySQL提示:The server quit without updating PID file问题的解决办法
- SQL Server 2008 阻止保存要求重新创建表的更改问题的设置方法
- MySQL远程连接丢失问题解决方法(Lost connection to MySQL server)
- win2008 r2 安装sqlserver 2000问题的解决方法
- SQLServer 数据库变成单个用户后无法访问问题的解决方法
- winXP系统安装SQLServer2005开发版具体过程与注意问题
- SqlServer数据库提示 “tempdb” 的日志已满 问题解决方案
- SQL Server"错误 21002: [SQL-DMO]用户 * 已经存在问题解决
- SQL Server常见问题及解决方法分享
相关文章
SQL Server误区30日谈 第27天 使用BACKUP WITH CHECKSUM可以替代DBCC CheckDB
乍一看,由于BACKUP WITH CHECKSUM会检测所有分配出去的页的校验和的值,这个误区貌似是这么回事,但实际上并不是这么回事2013-01-01SQL Server误区30日谈 第29天 有关堆碎片的误区
对堆建聚集索引再DROP在我看来是除了收缩数据库之外最2的事了2013-01-01利用ROW_NUMBER() OVER函数给SQL数据库中每一条记录分配行号的方法
这篇文章主要介绍了利用ROW_NUMBER() OVER函数给SQL数据库中每一条记录分配行号的方法,需要的朋友可以参考下2015-10-10
最新评论