`

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;

 

1
0
分享到:
评论

相关推荐

    SQL中NUMERIC和DECIMAL的区别

    在SQL语言中,`NUMERIC`和`DECIMAL`是最常用的数据类型之一,尤其是在处理需要高精度数值的情况下。 #### 一、基本概念 - **NUMERIC**: 在SQL中,`NUMERIC`是一种固定精度的数据类型,主要用于存储固定精度的十...

    SQLServer多种去除尾数多余的0

    在SQL Server中,处理数值类型的数据时,特别是浮点数(float)或定点数(decimal, numeric),我们可能会遇到一个问题:当数值末尾有过多的零时,它们并不总是直观地显示出来。尤其是在进行计算或者存储后,这些零...

    sqlserver-oracle 数据类型对照

    - `decimal`和`numeric`在SQL Server中对应Oracle的`NUMBER(precision)`,其中precision是精度。 - `float`在SQL Server中分为两种:`float(4)`对应Oracle的`BINARY_FLOAT`,`float(8)`对应`BINARY_DOUBLE`。 - `...

    SQL SERVER的数据类型自定义

    这些类型适用于存储数值数据,其中`decimal`和`numeric`类型允许指定精度和小数位数,非常适合金融和会计系统中的货币值存储。 2. **字符类型**:包括固定长度的字符类型(如`char`、`nchar`)和变长字符类型(如`...

    详细分析sqlserver中的小数类型(float和decimal)

    总的来说,理解SQL Server中的float和decimal类型对于处理精确和近似数值至关重要。在设计数据库表结构和编写查询时,应根据数据的特性和需求选择合适的小数类型,并注意浮点数的精度问题以及在进行数学运算和字符串...

    PostgreSQL 与 MS SQLServer在过程语言中的差异

    PostgreSQL 与 MS SQLServer 在过程语言中的差异 PostgreSQL 和 MS SQL Server 是两种流行的关系数据库管理系统,它们在过程语言中有许多差异。下面我们将从数据类型、变量定义与赋值、IF/ELSE 控制结构等方面对这...

    sql server 和oracle 中数据类型的区别

    7. **NUMBER**: 通用的数字类型,可以表示整数和小数,例如`NUMBER(13)`,在SQL Server中对应的类型为`numeric`。 8. **NVARCHAR2**: 可变长度的Unicode字符类型,如`NVARCHAR2(10)`,在SQL Server中对应的类型为`...

    SqlServer数据库的数据类型

    ### SqlServer数据库的数据类型详解 数据类型在编程与数据库管理中扮演着至关重要的角色,它不仅定义了数据的存储方式,还决定了数据可以执行的操作。SQL Server作为一种广泛使用的数据库管理系统,提供了丰富的...

    SQLserver全局变量

    15. `@@MAX_PRECISION`:返回decimal和numeric数据类型当前的精度设置,最大值为38,影响数字的精确度。 16. `@@OPTIONS`:返回当前设置的SET选项信息,比如排序顺序、事务隔离级别等。 17. `@@PACK_RECEIVED`:...

    SQLServer数据库优化之50种方法

    - 根据实际需要选择合适精度的小数类型,如`DECIMAL`或`NUMERIC`。 #### 14. 使用存储过程 - **概述**:存储过程可以在服务器端预先编译,提高执行效率。 - **实践建议**: - 尽可能多地将业务逻辑封装到存储...

    SQLServer常用字段类型

    5. **Decimal(p,s)** 和 **Numeric**:用于存储固定精度的十进制数,其中p代表总位数,s代表小数位数,适合金融计算等对精度有严格要求的场景。 6. **Money** 和 **Smallmoney**:专门用于存储货币值,前者占用8...

    常用sqlserver知识讲解

    ### 常用SQL Server知识讲解 #### 一、系统数据类型详解 ...接下来的文章中我们将继续探讨SQL Server中的其他核心概念和技术,如函数、数据类型、存储过程、触发器等,帮助初学者更好地理解和应用SQL Server技术。

    SQL SERVER与C#数据类型对应表

    在 SQL Server 中,`smalldatetime` 和 `datetime` 提供了不同的精度,而 `timestamp` 则用于记录行的版本信息。在 C# 中,统一使用 `DateTime` 类型来表示。 #### 5. 字符类型(Character) - **SQL Server**: -...

    SQL Server 2005 数据类型和.Net数据类型的对应关系.doc

    6. **decimal**: `decimal`在SQL Server中是高精度浮点数,适合需要精确计算的场景。在.NET中,对应的类型是`System.Decimal`,它提供十进制数值的精确运算。 7. **float**和**double**: `float`在SQL Server中表示...

    SQL Server 数据类型总结

    在探讨SQL Server数据类型的深度与广度时,我们不得不承认,这一主题是数据库设计与管理中的基石之一。SQL Server作为一款强大的关系型数据库管理系统,提供了丰富多样的数据类型,旨在满足不同场景下的数据存储需求...

    Microsoft Access数据类型与SQL Server数据类型的区别

    - **SQL Server**: 支持 `Real` 和 `Float` 类型,此外还支持 `Decimal` 和 `Numeric` 类型,这两个类型可以提供固定的小数点精度,适用于财务和货币数据。 **4. 日期时间类型** - **Microsoft Access**: 使用 `...

    SQL Server 2005 T-SQL增强

    - **可变精度货币**: `MONEY`类型被`DECIMAL`和`NUMERIC`所替代,提供了更高的精度选项。 - **大型对象支持**: 新增了`VARCHAR(MAX)`, `NVARCHAR(MAX)`和`VARBINARY(MAX)`等类型,用于存储大文本、图像和其他二进制...

Global site tag (gtag.js) - Google Analytics