DM_SQL所支持的数据类型之一常规数据类型

1.4.1 常规数据类型

  1. 字符数据类型 CHAR类型 语法:CHAR[(长度)] 功能:CHAR数据类型指定定长字符串。在基表中,定义CHAR类型的列时,其最大存 储长度由数据库页面大小决定,可以指定一个不超过其最大存储长度的正整数作为字符长 度,例如:CHAR(100)。如果未指定长度,缺省为1。DM确保存储在该列的所有值都具有 这一长度。CHAR数据类型最大存储长度和页面大小的对应关系请见下表1.4.1。但是,在 表达式计算中,该类型的长度上限不受页面大小限制,为32767。DM支持按字节存放字符 串。 表1.4.1 数据库页面大小 实际最大长度 4K 1900 8K 3900 16K 8000 32K 8188 这个限制长度只针对建表的情况,在定义变量的时候,可以不受这个限制长度的限制。 另外,实际插入表中的列长度要受到记录长度的约束,每条记录总长度不能大于页面大小的 一半。 CHARACTER类型 语法:CHARACTER[(长度)] 功能:与CHAR相同。 VARCHAR类型/VARCHAR2类型 语法:VARCHAR[(长度)] 功能:VARCHAR 数据类型指定变长字符串,用法类似 CHAR 数据类型,可以指定一个 不超过8188的正整数作为字符长度,例如:VARCHAR (100)。如果未指定长度,缺省为 8188。 在基表中,当没有指定USING LONG ROW存储选项时,插入VARCHAR数据类型的实 际最大存储长度由数据库页面大小决定,具体最大长度算法如表1.4.1;如果指定了USING LONG ROW存储选项,则插入VARCHAR数据类型的长度不受数据库页面大小限制。VARCHAR 类型在表达式计算中的长度上限不受页面大小限制,为32767; CHAR 同 VARCHAR 的区别在于前者长度不足时,系统自动填充空格,而后者只占用实
    3
    第 1 章 结构化查询语言 DM_SQL 简介
    际的字节空间。另外,实际插入表中的列长度要受到记录长度的约束,每条记录总长度不能 大于页面大小的一半。 VARCHAR2类型和VARCHAR类型用法相同。 2. 数值数据类型 1. 精确数值数据类型 NUMERIC类型 语法:NUMERIC[(精度 [, 标度])] 功能:NUMERIC数据类型用于存储零、正负定点数。其中:精度是一个无符号整数, 定义了总的数字数,精度范围是1至38。标度定义了小数点右边的数字位数。一个数的标度 不应大于其精度,如果实际标度大于指定标度,那么超出标度的位数将会四舍五入省去。例 如:NUMERIC(4,1)定义了小数点前面3位和小数点后面1位,共 4位的数字,范围在-999.9 到999.9。所有NUMERIC数据类型,如果其值超过精度,DM会返回一个出错信息,如果超 过标度,则多余的位会被截断。 如果不指定精度和标度,缺省精度为38。 DECIMAL类型 语法:DECIMAL[(精度 [, 标度])] 功能:与NUMERIC相似。 DEC类型 语法:DEC[(精度[, 标度])] 功能:与DECIMAL相同。 NUMBER类型 语法:NUMBER[(精度[, 标度])] 功能:与NUMERIC相同。 INTEGER类型 语法:INTEGER 功能:用于存储有符号整数,精度为 10,标度为 0。取值范围为:-2147483648 (-231)~ +2147483647(231-1)。 INT 类型 语法:INT 功能:与INTEGER相同。 BIGINT 类型 语法:BIGINT 功能:用于存储有符号整数, 精度为 19 ,标度为 0 。取值范围为: -9223372036854775808(-263)~9223372036854775807(263-1)。 TINYINT类型 语法:TINYINT 功能:用于存储有符号整数,精度为3,标度为0。取值范围为:-128 ~ +127。 BYTE类型 语法:BYTE 功能:与TINYINT相似,精度为3,标度为0。 SMALLINT类型 语法:SMALLINT 功能:用于存储有符号整数,精度为 5,标度为 0。取值范围为:-32768(-215) ~ +32767(215-1)。
    4
    第 1 章 结构化查询语言 DM_SQL 简介
    BINARY 类型 语法:BINARY[(长度)] 功能:BINARY数据类型用来存储定长二进制数据。缺省长度为1个字节。最大长度由 数据库页面大小决定,具体最大存储长度算法与CHAR类型的相同,其在表达式计算中的长 度上限也与CHAR类型相同,为32767。BINARY常量以0x开始,后面跟着数据的十六进 制表示。例如0x2A3B4058。 VARBINARY类型 语法:VARBINARY[(长度)] 功能:VARBINARY数据类型用来存储变长二进制数据,用法类似BINARY数据类型, 可以指定一个不超过8188的正整数作为数据长度。缺省长度为8188个字节。VARBINARY 数据类型的实际最大存储长度由数据库页面大小决定,具体最大长度算法与VARCHAR类型 的相同,其在表达式计算中的长度上限也与VARCHAR类型相同,为32767。 2. 近似数值数据类型 FLOAT类型 语法:FLOAT[(精度)] 功能:FLOAT 是带二进制精度的浮点数。该类型直接使用标准 C 语言中 DOUBLE。精 度值设置无实际意义,精度设置用于保证数据移植的兼容性,实际精度在达梦内部是固定的。 精度处于范围(1~126)时忽略精度,超过此范围直接报错。 FLOAT取值范围-1.710308 ~ 1.710308。 DOUBLE类型 语法:DOUBLE[(精度)] 功能:DOUBLE是带二进制精度的浮点数。DOUBLE类型的设置是为了移植的兼容性。 该类型直接使用标准C语言中DOUBLE。精度与取值范围用法与FLOAT完全一样。 REAL类型 语法:REAL 功能:REAL是带二进制精度的浮点数,但它不能由用户指定使用的精度,系统指定其 二进制精度为24,十进制精度为7。取值范围-3.41038 ~ 3.41038。 DOUBLE PRECISION类型 语法:DOUBLE PRECISION[(精度)] 功能:该类型指明双精度浮点数。DOUBLE PRECISION类型的设置是为了移植的兼容 性。 该类型直接使用标准C语言中DOUBLE。精度与取值范围用法与FLOAT完全一样。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郝さん

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值