http://www.cppblog.com/prayer/archive/2009/05/04/81825.html
20071011公司的编程中,和我的同事讨论了DB2的DECIMAL字段属性的用法。
公司创建表的时用的是DECIMAL(13,2),我和同事认为它为13个整数位数+2为有效数字,因为在打印银行交易的FORM时遇到了难题。输出和建表的长度不一样,我们以为它会打印出15为长度(13位整数+2位有效数字),但是却遇到了难题。
经过我们的近一个小时的讨论与时间,可以看出,在DECIMAL(13,2)的数据库的插入时,我们首先输入的数据为1234567890123.99,数据库报出错误:长度超出了规定长度。
我们在此基础上有删除一个整数位,123456789012.99,结果还是报长度超出了范围,经过我们的查找资料,得到了一初步的认证,就是整数位+小数位一共为13位,因为在1234567890.99的数据插入中结果成功。
于是我们又试验了1234567890.999,结果显示插入成功,打开数据库中发现了插入的数据在数据库中保存的数据为1234567890.99将第三位小数位给截断。
我们得到了最后的结论,在DECIMAL(m,n)的设置中,整数的位数不能大于(m-n),但小数位可以大于n,但会从大于n的有效位开始截断。
分享到:
相关推荐
Db2 还提供了其他类型,包括 Numeric 和 Decimal 等。 * Numeric(p,s):保存精确数值数据类型,范围为 -10E-38 到 10E-38,p 是精度,总小数位数(1~38),s 是小数位(小数位小于等于 p)。最大长度为 2~17 字节。...
### DB2 数据类型详解 #### 一、概述 DB2 是 IBM 开发的一款关系型数据库管理系统,被广泛应用于企业级环境中。为了满足不同场景下的需求,DB2 提供了多种内置的数据类型,主要包括数值型、字符串型、图形字符串型...
Oracle 中的 NUMBER 类型可以对应 DB2 的 SMALLINT、INTEGER、BIGINT、DECIMAL(p,s) 和 FLOAT(n) 类型。其中,p 代表精度,s 代表 scale。NUMBER 类型的对应关系取决于 Oracle 中 NUMBER 类型的定义和所占用的存储...
DB2数据库是一个强大的关系型数据库管理系统,其内部支持多种数据类型,这些数据类型的设计使得DB2能够处理各种复杂的数据结构和类型。以下是DB2数据库中主要数据类型的详细说明: 1. **数值型数据类型**: - **...
### DB2 数据类型详解 #### 一、概述 DB2 是 IBM 开发的一款关系型数据库管理系统,被广泛应用于企业级应用环境中。为了更好地理解和使用 DB2 数据库,本篇文章将详细介绍 DB2 中的各种数据类型及其特点。DB2 的...
DB2 数据类型详解 DB2 数据库提供了多种数据类型,包括数值型、字符串型、图形字符串型、日期时间型和特殊的 DATALINK 类型。这些数据类型可以满足不同的应用场景和业务需求。 数值型数据类型 数值型数据类型包括...
### DB2 数据类型详解 #### 一、概述 在 IBM DB2 数据库系统中,数据类型定义了存储在表中的数据格式以及可以对该数据执行的操作。合理选择数据类型不仅可以提高查询性能,还能节省存储空间。本文将详细介绍 DB2 ...
在 Oracle 中,可以使用 To_number(Integer()) 将字符型数据转化为数值型,而在 DB2 中可以使用 Decimal()。 四、系统日期 在 Oracle 中,系统日期可以使用 Sysdate 获取当前日期和时间,而在 DB2 中可以使用 ...
在使用DB2时,开发者还需要注意数据类型的转换和兼容性问题,以确保数据的正确存储和检索。此外,了解数据库的优化策略,如索引的创建和使用,也能进一步提升DB2的性能。 总结来说,DB2提供了丰富的数据类型,满足...
- **解释**:DB2 中的 `DECIMAL` 和 `NUMERIC` 类型均映射至 JDBC 的 `DECIMAL` 类型。 - **注意事项**:这些类型用于存储固定精度的小数。映射时需要特别注意小数点后的位数和总体精度的匹配。 - **FLOAT (DB2) ...
- 若NUMBER类型用于存储浮点数,则可能需要根据精度要求选择DB2/400中的DECIMAL或NUMERIC类型。 #### 四、字符类型 - **Oracle VARCHAR2**: 用于存储变长字符串,最大长度为4000字节。 - **DB2/400 CHAR/VARCHAR**...
### DB2数据库数据类型详解 #### 引言 在DB2数据库系统中,数据类型扮演着至关重要的角色,它们定义了如何存储、处理以及检索数据。深入理解DB2中的各种数据类型,对于优化数据库设计、提升查询性能以及确保数据...
- 注意点: 在DB2中,数据类型的长度是必须指定的,并且需要指定 `LANGUAGE SQL` 来指示这是一个SQL存储过程。 ##### 1.2 创建触发器 - **Oracle**: 支持 `CREATE OR REPLACE` 语法,允许替换已存在的触发器。 ```...
**注意:** DB2不支持`REPLACE`关键字,并且在定义数据类型时需要指定长度。此外,`LANGUAGE SQL`在DB2 V8版本中是可选的。 ##### 1.2 创建触发器 **Oracle:** ```sql CREATE OR REPLACE TRIGGER connect_audit_...
本文将深入探讨DB2中的常用函数,这些函数覆盖了类型转换、日期时间操作、字符串处理以及数学计算等多个方面,对于初学者来说,掌握这些函数能够极大地提升在DB2环境下的数据操作效率。 ### 类型转换函数 DB2提供...
DB2 数据库管理系统提供了一套丰富的数据类型,用于支持各种不同类型的值存储。这些数据类型主要分为数值型、字符串型、图形字符串、二进制字符串和日期时间型。此外,DB2 还支持一种特殊的数据类型,即 DATALINK,...
### COBOL与DB2数据类型对应关系详解 #### 一、引言 在使用COBOL编程语言进行开发时,经常会遇到需要与DB2数据库交互的情况。为了确保数据能够准确无误地从数据库传递到程序中,或者从程序传递到数据库中,必须...
- Oracle 的 `NUMBER` 类型非常灵活,可以对应 DB2/400 的 `SMALLINT`, `INTEGER`, `BIGINT`, `DECIMAL(p,s)`, `FLOAT`, `REAL` 和 `DOUBLE`。具体选择取决于 Oracle 中 `NUMBER` 类型的定义和精度(p 和 s)。例如...
- `DECIMAL(p,s)`在两个数据库中都是精确数值类型,可以使用`double`在C中表示,但要注意,DB2支持使用Packed BCD编码传递参数,以实现对`DECIMAL/NUMERIC`的精确表示。 - `INTEGER`在Oracle和DB2中都表示整数,C...
1. 数值类型:DB2有DECIMAL、INTEGER、SMALLINT和BIGINT等。DECIMAL类似于Oracle的NUMBER,而INTEGER等效于Oracle的INTEGER。 2. 字符串类型:VARCHAR和CHAR与Oracle对应,但DB2还提供了LONG VARCHAR,用于存储非常...