sql server中的decimal或者numeric的精度问题
作者:
在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常见问题及解决方法分享