未打包的行

未打包行指定调用UNPACK内置函数的结果行。

未打包的行
阅读语法图跳过可视化语法图UNPACK-函数调用 . * AS( ,字段名数据类型 )
UNPACK-函数调用
指定调用UNPACK内置函数。 指定的字段名称字段类型的数量必须与UNPACK函数调用返回的字段数量相同。
field-name
指定UNPACK函数返回的字段。 名字不必限定,也不必独一无二。
data-type
指定字段的内置数据类型。 指定的数据类型、长度和CCSID必须与参数最初使用PACK函数编码时的数据类型、长度和CCSID一致。

更改开始对于非打包行 ,不得指定CCSID 1208和CCSID 1200条款。更改结束

下表提供了压缩字符串数据支持的类型映射:

表 1. 压缩字符串数据的数据类型映射
UNPACK压缩字符串中编码值的类型 为UNPACK指定的数据类型
SMALLINT SMALLINT、INTEGER 和 BIGINT
INTEGER 整数、大整数
BIGINT BIGINT
小数(p,s )1 十进制 (p',s' ),如果 s'<s ,则截取 s-s' 位。 如果有效数字超过 p'-s' ,则会发生错误。
2 或双 3 双精度值
CHAR(n) 或 VARCHAR(n) CHAR (m ), VARCHAR(m )

如果 m<nn-m 中的任意字符不为空,则会发生错误。 否则, n-m 中的空格将被截断。 如果 m > n 且指定的数据类型为 CHAR,则会附加 mn 个空格。

BINARY(n) 或 VARBINARY(n) 二进制 (m )、 可变二进制(m

如果 m < n ,则发生错误。 如果 m > n 且 UNPACK 目标是 BINARY,则会附加 mn 个 X'00' 字节。

日期 日期
时间 时间
无时区的TIMEST AMP(p ) 不含时区的TIMESTAMP (p')。 如果 p' > p ,则添加 p'-p 零。 如果 p' &lt; p ,则截断 p-p' 位数。
带时区的TIMESTAMP (p ) 带时区的TIMESTAMP (p')。 如果 p' > p ,则添加 p'-p 零。 如果 p' &lt; p ,则截断 p-p' 位数。
备注: 小写数据类型定义如下:
  1. 十进制 = DECIMAL(p,s)NUMERIC(p,s)
  2. real = REAL 或 FLOAT(n ),其中 n 是单精度浮点数的规格
  3. double = DOUBLE、DOUBLE PRECISION、FLOAT 或 FLOAT(n ),其中 n 是双精度浮点数的规格
数据类型的同义词,无论长或短,均视为与所列的同义词相同。