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利用sp_spaceused如何查看表记录存在不准确的情况
这篇文章主要给大家介绍了关于SQL Server利用sp_spaceused如何查看表记录存在不准确情况的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用SQL Server具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧2019-04-04sql2005 create file遇到操作系统错误5拒绝访问 错误1802
尝试打开或创建物理文件 'E:\Library.mdf' 时,CREATE FILE 遇到操作系统错误 5(拒绝访问。)。2009-08-08SQL Server跨服务器操作数据库的图文方法(LinkedServer)
这篇文章主要介绍了SQL Server跨服务器操作数据库的方法,通过链接服务器(LinkedServer)实现SQL Server远程链接MySql等数据库,需要的朋友可以参考下2022-10-10SQL Server误区30日谈 第6天 有关NULL位图的三个误区
NULL位图是为了确定行中的哪一列是NULL值,哪一列不是。这样做的目的是当Select语句后包含存在NULL值的列时,避免了存储引擎去读所有的行来查看是否是NULL,从而提升了性能2013-01-01
最新评论