数据类型定义常数、列、宿主变量、函数、表达式以及专用寄存器可接受的值。本节描述示例中引用的数据类型。有关其他数据类型的完整列表和说明,参考 SQL Reference。
字符串
字符串为一个字节序列。字符串的长度为序列中的字节数。如果长度为零,则该字符串的值称为空字符串。
定长字符串
CHAR(x)是定长字符串。长度属性 x 必须在 1 和 254 之间,并包括 1 和 254。
变长字符串
变长字符串有三种类型:VARCHAR、LONG VARCHAR 以及 CLOB。 VARCHAR(x)类型是变长字符串,因此,可以将长度为 9 的字符串插入 VARCHAR(15)中,而该字符串的长度将仍然为 9。参见大对象 (LOB)以获取关于 CLOB 的详情。
图形字符串
图形字符串是一个双字节字符数据序列。
定长图形字符串
GRAPHIC(x)是定长字符串。长度属性 x 必须在 1 和 127 之间,并包括 1 和 127。
变长图形字符串
变长图形字符串有三种类型:VARGRAPHIC、LONG VARGRAPHIC 以及 DBCLOB。参见大对象 (LOB)以获取关于 DBCLOB 的详情。
二进制字符串
二进制字符串是一个字节序列。它用于保存非传统数据,如图象等。“二进制大对象”(BLOB)是二进制字符串。参见大对象 (LOB)以了解更多信息。
数字
所有数字都有符号和精度。精度是除符号位以外的位数或数字数。
SMALLINT
SMALLINT(小型整数)是精度为 5 位的两字节整数。
INTEGER
INTEGER(大型整数)是精度为 10 位的四字节整数。
REAL
REAL(单精度浮点数)是实数的 32 位近似值。
DOUBLE
DOUBLE(双精度浮点数)是实数的 64 位近似值。 DOUBLE 也称 FLOAT。
DECIMAL(p,s)
DECIMAL 是一个十进制数。小数点的位置由数字的 精度(p)和小数位(s) 确定。精度是数字的总位数,必须小于 32。小数位是小数部分数字的位数且总是小于或等于精度值。如果未指定精度和小数位,则十进制值的缺省精度为 5,缺省小数位为 0。
日期时间值
日期时间值是日期、时间以及时间戳记的表示。日期时间值可以用于某些算术运算和字符串运算并且与某些字符串是相容的,然而它们既非字符串也非数字。 (1)
日期
日期值分为三个部分(年、月以及日)。
时间
时间是用 24 小时制式来指定一天内的时间的值,分为三个部分(小时、分钟以及秒)。
时间戳记
时间戳记为指定日期和时间的值,分为七个部分(年、月、日、小时、分钟、秒以及微秒)。
空值是一个区别于所有非空值的特殊值。它意味着行中的那一列无任何其他值。所有数据类型都存在空值。
下表突出显示示例中所使用的数据类型的特性。所有数字数据类型都定义在某一确定范围内。该数字数据类型范围也包括在此表中。可以使用此表作为正确数据类型用法的快速参考。
有关更多信息,参见 SQL Reference 中的数据类型相容性表。