表格栏类型

表格栏类型是数据类型的一种,主要用来输入输出视表数据。
表格栏类型使用视表属性 对话框表格栏属性中的类型被指定。
内部数据类型基于输入视表的表格栏类型来确定的。内部数据类型主要用于视表过滤器的数据处理过程。参照下面关于表格栏类型与内部数据类型间关系的列表。
有关数据类型,以及带有SQL DB连接源信息的视表中,使用输入向导的数据库表格栏类型之间关系的详细信息,请参照使用SQL DB 连接源

数据类型 可设定的值 可用连接源信息 补充说明
内部数据类型 表格栏类型 精度 小数点以下位数
字符类型 字符 1~4096 - TBSLEP 可变长度字符串数据依赖于文字码。
Provider种类为"ODBC驱动程序"时,该表格栏类型为"SQL_CHAR"类型。
精度为最大字节数。
字符(VARCHAR) 1~4096 - --SL-P 固定长度字符串数据依赖于为SQL DB所用的文字码。
Provider种类为"ODBC 驱动程序"时,该表格栏类型被用于SQL类型。该表格栏类型对应于"SQL_VARCHAR"类型。 (有关SQL类型的详细信息,查看 ODBC Bind设定 对话框的信息。)
尽管可以选择"ODBC 驱动程序"以外的场合,不要使用该表格栏类型,因为现存连接源中Provider种类会发生改变。如果该表格栏类型未选定驱动类型"ODBC 驱动程序" (包括与管道相关的连接源),那么与指定"字符"表格栏类型有相同的效果。
字符(LONGVARCHAR) 1~4096 - --SL-P 可变长度字符串数据依赖于为SQL DB所用的文字码。
Provider种类为"ODBC 驱动程序"时,该表格栏类型被用于SQL类型。表示为"SQL_LONGVARCHAR"类型。
尽管可以选择"ODBC 驱动程序"以外的场合,不要使用该表格栏类型,因为现存连接源中Provider种类会发生改变。如果该表格栏类型未选定驱动类型"ODBC 驱动程序" (包括与管道相关的连接源),那么与指定"字符"表格栏类型有相同的效果。
字符(WCHAR) 2~4096 - --S--P Unicode中可变长度字符串数据用于SQL DB。
Provider种类为"ODBC 驱动程序"时,该表格栏类型被用于SQL类型。表示为"SQL_WCHAR"类型。
不论视表中是否指定了文字码,都使用"Unicode(Little endian)"来输入/输出。关于这部分的详细信息,请参照混合文字码中的信息。
因为精度为字节数,所以只可以指定偶数。
尽管可以选择"ODBC 驱动程序"以外的场合,不要使用该表格栏类型,因为现存连接源中Provider种类会发生改变。如果该表格栏类型未选定驱动类型"ODBC 驱动程序" (包括与管道相关的连接源),那么与指定"字符"表格栏类型有相同的效果。
当发生了这种情况,视表的文字码被应用于该文字码中。
字符(WVARCHAR) 2~4096 - --S--P Unicode中可变长度字符串数据用于SQL DB。
Provider种类为"ODBC 驱动程序"时,该表格栏类型被用于SQL类型。该表格栏类型对应于"SQL_WVARCHAR" 类型。
不论视表中是否指定了文字码,都使用"Unicode(Little endian)"来输入/输出数据,不论视表中指定的文字码。关于这部分的详细信息,请参照混合文字码中的信息。
因为精度为字节数,所以只可以指定偶数。
尽管可以选择"ODBC 驱动程序"以外的场合,不要使用该表格栏类型,因为现存连接源中Provider种类会发生改变。 如果该表格栏类型未选定驱动类型"ODBC 驱动程序" (包括与管道相关的连接源),那么与指定"字符"表格栏类型有相同的效果。
当发生这种情况,视表的文字码被应用于该文字码中。
字符(WLONGVARCHAR) 2~4096 - --S--P Unicode中可变长度字符串数据用于SQL DB。
Provider种类为"ODBC 驱动程序"时,该表格栏类型被用于SQL类型。 该表格栏类型对应于"SQL_WLONGVARCHAR"类型。
输入/输出数据在"Unicode(Little endian)"中,不论视表中指定的文字码。 对于详细信息,请参照混合文字码中的信息。
因为精度为字节数,所以只可以指定偶数。
尽管可以选择"ODBC 驱动程序"以外的场合,不要使用该表格栏类型,因为现存连接源中Provider种类会发生改变。如果该表格栏类型未选定驱动类型"ODBC 驱动程序" (包括与管道相关的连接源),那么与指定"字符"表格栏类型有相同的效果。
当发生这种情况,视表的文字码被应用于该文字码中。
数值类型 二进制数 1~128 0~精度 T---E- 带文本相关连接源的视表数値数据。
如果连接源被更改,数值数据可能被转换为"8-字节整数"。
当有效数字 (14 位) 不够或者当小数点以下位数不为零, 使用 "数值字符串"。
在输入期间, 整数像 "1","-2", 实数像 "1.2", 指数表示的实数像 "1.23E3","1.23E-3" 可以被输入。 当表格栏数据包含的位数低于小数点以下位数,会被忽略。 (也就是说,小数点以下位数后的数字被四舍五入)。
在输出期间,不作为实数被考虑。 因为小数点位置以下的位数被四舍五入,输出值是实数还是整数,依赖于小数点位置的设置。
- - --SL-P 用于SQL DB的1位数据。
0(假) 或 1(真) 在表格栏数据被读取时获得。 0(假) 或 1(真) 在选定条件中指定一个条件值时来使用。 (该值不会自动转换为输出数据。) 对于输出数据,如果内部数据是0(假),那么0(假)输出,如果内部数据不是0,那么1(真)被输出。
根据访问数据库的不同,布尔值可能被计算为 -1(真) 和 0(假)。 在这种情况下, 0(假) 或 -1(真)必须为选定条件的条件值所指定。 (如果选定的条件必须是独立的数据类型,为条件指定 "等于 0" 或 "不等于 0" 。)
1-字节整数 - - -BSL-P 1-字节有符号整数数据。
当表格栏值通过表格栏过滤器的计算变成带有小数点的数值时,使用"1-字节数值字符串(十进制数)"。
十进制值被四舍五入并作为1-字节整数来保存。
1-字节无符号整数 - - -BSL-P 1-字节无符号整数数据。
当表格栏值通过表格栏过滤器的计算变成带有小数点的数值时,使用 "1-字节无符号数值字符串(十进制数)"。
十进制值被四舍五入并作为1-字节无符号整数来保存。
2-字节整数 - - -BSL-P 2-字节有符号整数数据。
当表格栏值通过表格栏过滤器的计算变成带有小数点的数值时,使用"2-字节数值字符串(十进制数)"。
十进制值被四舍五入并作为2-字节整数来保存。
2-字节无符号整数 - - -BSL-P 2-字节无符号整数数据。
当表格栏值通过表格栏过滤器的计算变成带有小数点的数值时,使用 "2-字节无符号数值字符串(十进制数)"。
十进制值被四舍五入并作为2-字节无符号整数来保存。
4-字节整数 - - -BSL-P 4-字节有符号整数数据。
当表格栏值通过表格栏过滤器的计算变成带有小数点的数值时,使用"4-字节数值字符串(十进制数)"。
十进制值被四舍五入并作为4-字节整数来保存。
4-字节无符号整数 - - -BSL-P 4-字节无符号整数数据。
当表格栏值通过表格栏过滤器的计算变成带有小数点的数值时,使用 "4-字节无符号数值字符串(十进制数)"。
十进制值被四舍五入并作为4-字节无符号整数来保存。
8-字节整数 - - -BSL-P 8-字节有符号整数数据。
当有效数字(14位)不够,或者当表格栏值通过表格栏过滤器的计算变成带有小数点的数值时,使用"8-字节数值字符串(十进制数)"。
十进制值被四舍五入并作为8-字节整数来保存。
8-字节无符号整数 - - -BSL-P 8-字节无符号整数数据。
当有效数字(14位)不够,或者当表格栏值通过表格栏过滤器的计算变成带有小数点的数值时,使用 "8-字节无符号数值字符串(十进制数)"。十进制值被四舍五入并作为8-字节无符号整数来保存。
数字(二进制数) 1~128 0~精度 --SL-P 长数值数据中的位数在SQL DB中被使用。(为实际表现的位数,确认连接数据库的设置)。
当有效数字(14 位)不够或者当小数点以下位数不为零,使用"数字(十进制数)"。在输入期间, 当表格栏数据包含的数字低于小数点以下位数,它被忽略。 (也就是说,小数点位置后的数字被四舍五入)。
在输出期间,低于小数点位置的位将只被四舍五入。
十进制(二进制数) 1~128 0~精度 --SL-P 长数值数据中的位数在SQL DB中被使用。(为实际表现的位数,确认连接数据库的设置)。
当有效数字(14 位)不够或者当小数点以下位数不为零,使用"十进制(十进制数)"。在输入期间, 当表格栏数据包含的数字低于小数点以下位数,它被忽略。 (也就是说,小数点位置后的数字被四舍五入)。
在输出期间,低于小数点位置的数字将只被四舍五入。
Pack数值型(二进制) 1~128 0~精度 -B---P 数值数据作为一个Pack数值型
当内部数据类型的有效数字不足时,使用 "Pack数值型(十进制数)"。
小数点以下位数 显示"假定小数点" (它表示十进制时,最后的数字是否被假定为小数点)。
在输出期间,小数点位置 以下的位数被四舍五入。
UnPack数值型(二进制) 1~128 0~精度 -B---P 数值数据作为一个UnPack数值型
数值数据以UnPack数值型表现。
当内部数据类型的有效数字不足时,使用 "UnPack数值字符型(十进制)"。
小数点以下位数 显示"假定小数点" (它表示十进制时,最后的数字是否被假定为小数点)。
在输出期间,小数点位置 以下的位数将只被四舍五入。
BCD(二进制数) 1~128 0~精度 -B---P 数值数据作为一个 二进制编码十进制数(BCD)
当有效数字 (14 位) 不足或者小数点以下位数不为零,使用 "BCD(十进制数)"。
小数点以下位数 显示"假定小数点" (它表示十进制时,最后的数字是否被假定为小数点)。
在输出期间,小数点位置 以下的位数将只被四舍五入。
Money(二进制数) - - --S--P 数值数据大量用在 SQL DB中。 (为实际表现的位数,确认连接数据库的设置)。
当有效数字 (14 位) 不足或者小数点以下位数不为零,使用 "Money(十进制数)"。
在输入期间, 包含在 "小数点以下4 位"的数字 被忽略。 (也就是说,"小数点以下4 位"的数字被四舍五入)。
在输出期间, "小数点以下4 位"的数字被四舍五入。
单精度浮点数 - - --S--P 数值数据表现为以IEEE格式的4字节单精度浮点数。
双精度浮点数 - - --SL-P 数值数据表现为以IEEE格式的8字节双精度浮点数。
十进制数类型 数值字符串 1~128 0~精度 T----- 带文本相关连接源的视表数值数据。
当连接源被更改时,它可能被转换为"8-字节数值字符串(十进制数)"。
在输入期间, 整数像 "1","-2", 实数像 "1.2", 指数表示的实数像 "1.23E3","1.23E-3" 可以被输入。 当表格栏数据包含的位数低于小数点以下位数,它被忽略。 (也就是说,小数点以下位数后的数字被四舍五入)。
在输出期间,它将不作为指数符号的实数被考虑。 因为小数点位置以下的位数被四舍五入,输出值是实数还是整数,依赖于小数点位置的设置。
1-字节数值字符串(十进制数) - - -BSL-P 1-字节有符号整数数据。
十进制值被四舍五入并作为1-字节整数来保存。
1-字节无符号数值字符串(十进制数) - - -BSL-P 1-字节无符号整数数据。
十进制值被四舍五入并作为1-字节无符号整数来保存。
2-字节数值字符串(十进制数) - - -BSL-P 2-字节有符号整数数据。
十进制值被四舍五入并作为2-字节整数来保存。
2-字节无符号数值字符串(十进制数) - - -BSL-P 2-字节无符号整数数据。
十进制值被四舍五入并作为2-字节无符号整数来保存。
4-字节数值字符串(十进制数) - - -BSL-P 4-字节有符号整数数据。
十进制值被四舍五入并作为4-字节整数来保存。
4-字节无符号数值字符串(十进制数) - - -BSL-P 4-字节无符号整数数据。
十进制值被四舍五入并作为4-字节无符号整数来保存。
8-字节数值字符串(十进制数) - - -BSL-P 8-字节有符号整数数据。
十进制值被四舍五入并作为8-字节整数来保存。
8-字节无符号数值字符串(十进制数) - - -BSL-P 8-字节无符号整数数据。
十进制值被四舍五入并作为8-字节无符号整数来保存。
数字(十进制数) 1~128 0~精度 --SL-P 长数值数据中的位数在SQL DB中被使用。(为实际表现的位数,确认连接数据库的设置)。
在输入期间, 当表格栏数据包含的数字低于小数点以下位数,它被忽略。 (也就是说,小数点位置后的数字被四舍五入)。
在输出期间,低于小数点位置的数字将只只被四舍五入。
十进制(十进制数) 1~128 0~精度 --SL-P 长数值数据中的位数在SQL DB中被使用。(为实际表现的位数,确认连接数据库的设置)。
在输入期间, 当表格栏数据包含的数字低于小数点以下位数,它被忽略。 (也就是说,小数点位置后的数字被四舍五入)。
在输出期间,低于小数点位置的数字将只被四舍五入。
Pack数值字符型(十进制) 1~128 0~精度 -B---P 数值数据作为一个Pack数值字符型
小数点以下位数 显示"假定小数点" (它表示在表现十进制时,最后的数字是否被假定为小数点)。
在输出期间,小数点位置 以下的位数被四舍五入。
UnPack数值字符型(十进制数) 1~128 0~精度 -B---P 数值数据作为一个UnPack数值字符型
小数点以下位数 显示"假定小数点" (它表示十进制时,最后的数字是否被假定为小数点)。
在输出期间,小数点位置 以下的位数被四舍五入。
BCD(十进制数) 1~128 0~精度 -B---P 数值数据作为一个二进制编码十进制数(BCD)
当内部数据类型的有效数字不足时,使用 "Pack数值字符型(十进制数)"。
小数点以下位数 显示"假定小数点" (它表示十进制时,最后的数字是否被假定为小数点)。
在输出期间,小数点位置 以下的位数被四舍五入。
Money(十进制数) - - --S--P 数值数据大量用在 SQL DB中。 (为实际表现的位数,确认连接数据库的设置)。
在输入期间, 包含在 "小数点以下4 位"的值被忽略。 (也就是说,"小数点以下4 位"的数字被四舍五入)。
在输出期间, "小数点以下4 位"的数字被四舍五入。
日期类型 日期时间 - - TBSL-P 日期涉及的部分:日期年,月,日) + 时间(时,分,秒)。
对于带有文本连接源的视表,日期时间作为固定数位置(共14 位正整数)的数字序列以"YYYYMMDDHHMMSS"格式来表示。 在输入期间,第15位的数字被忽略(也就是说,秒表格栏以后的值被四舍五入)。
在带二进制连接源的视表中,日期时间作为Pack数值型以"YYYYMMDDHHMMSS"格式来表示。数据大小是固定的8 个字节。
日期 - - TBSL-P 日期类型数据包含日期(年,月,日)部分。对于带有文本连接源的视表,日期时间作为固定数位置(共8 位正整数)的数字序列以"YYYYMMDDHHMMSS"格式来表示。 在输入期间,第9位的数字被忽略(也就是说,时表格栏以后的值被四舍五入)。
对于带二进制连接源的视表,上述数字序列作为Pack数值型。数据大小是 5 个字节(固定)。
在输出期间,从日期类型数据中,时间部分值被忽略而只在文本连接源与二进制连接源中输出日期部分值。 (也就是说,时间值被四舍五入)。
时间 - - TBSL-P 处理时,分,秒值的日期型数据。
对于带有文本连接源的视表,日期时间作为固定数位置(共6 位正整数)的数字序列以"HHMMSS" 格式来表示。 (然而,如果数字位置被固定,它与一般整数不同,所以请注意零限制)。
在输入期间,任何从左面数第7位以后存在的数字被忽略(秒表格栏之后的值被四舍五入)。
对于带二进制十进制数的视表,数据大小是 4 个字节(固定)。
在输出期间,日期部分(1/1/1900)值在日期类型数据中被补充。 在输出期间,从日期型数据中,日期部分被忽略 而只输出时间部分值。
二进制类型 二进制 1~8192 - -BSL-P 数据类型只被用于转换而不用于处理细节。
二进制(VARBINARY) 1~8192 - --S--P 数据只用于的SQL DB数据转换。
当Provider种类为"ODBC 驱动程序"时,该表格栏类型被用于SQL类型。 该表格栏类型对应于"SQL_VARBINARY"类型。(关于SQL 类型的详细信息,参照ODBC绑定设置对话框的信息。)
尽管可以选择"ODBC 驱动程序"以外的场合,不要使用该表格栏类型,因为现存连接源中Provider种类会发生改变。如果该表格栏类型未选定驱动类型"ODBC 驱动程序" (包括与管道相关的连接源),那么与指定"二进制"表格栏类型有相同的效果。
二进制(LONGVARBINARY) 1~8192 - --S--P 数据只用于的SQL DB数据转换。
当Provider种类为"ODBC 驱动程序"时,该表格栏类型被用于SQL类型。该表格栏类型对应于"SQL_LONGVARBINARY"类型。
尽管可以选择"ODBC 驱动程序"以外的场合,不要使用该表格栏类型,因为现存连接源中Provider种类会发生改变。如果该表格栏类型未选定驱动类型"ODBC 驱动程序" (包括与管道相关的连接源),那么与指定"二进制"表格栏类型有相同的效果。
单精度浮点数(二进制) - - -B---P 该数据类型只被用于转换以浮点数表现的数据,它没有 4 字节 IEEE 格式。
由于内部数据类型是二进制类型而不是数值型,不能被用于计算。
双精度浮点数(二进制) - - -B---P 数据类型只被用于转换以浮点数表现的没有 8 字节 IEEE 格式的数据。
由于内部数据类型是二进制类型而不是数值型,不能被用于计算。
N/A 未知 0~8192 0~精度 --S--- Provider种类为"ODBC 驱动程序",如果不能找到所选定以及兼容内部数据类型时,那么数据类型定义是临时的。
在表格栏导入之后,对表格栏类型作出恰当的更改。
该表格栏类型不能被用于输入/输出数据,因为它与任何内部数据类型都不兼容。如果存在该类型的表格栏,那么在作业校验过程中将会产生一个错误。

解释性说明: 可行连接源
T: 文本连接源 (固定长度文本连接源与可变长度文本连接源)
B: 二进制连接源
S: SQL DB 连接源 (SQL DB 连接源或者 SQL DB 更新连接源)
L: 对于DB Loader for ORACLE连接源信息
E: Essbase 连接源 (Essbase 维度构建连接器 或 Essbase 数据加载连接源信息视表)
P: 管道相关连接源 (管道连接源或临时文件连接源或虚拟文件连接源)

关于SQL DB连接源的可用表格栏类型根据数据库的不同而不同,其连接方法。 更多详细信息,参照 使用 SQL DB 连接源


Pack数值型
该表格栏类型以4位(0.5 字节)代表一个十进制数 (也就是说,1 字节等于 2 十进制数) 并且符号在低4位中。 这是 二进制编码十进制数(BCD)的一种。 从狭义上理解, BCD 有额外的 1 位代替由低4位代表的符号。
以下是Pack数值型格式的十六进制转储数据。 (该例子的数据带有3个字节并且精度 是 5。)

DDDDDS
D 这是一个十进制数字。
因为左侧 (低地址一侧) 是高阶位置。 值可以通过从左到右读取十六进制转储数据被获得。
范围从0到9的十进制值可以被接受。从A到F的值是无效数字 ,所以它变为 读取错误
S 这是一个符号。
在十六进制中像A,C,E,F 这样的值是指正符号。 像 B,D 这样的符号是指负符号。0-9范围内的值无效,所以它变为 读取错误
当值被写入输出数据中,如果值为C符号为正 ,如果值为D符号为负。
表格栏空格的4 位 (0.5 字节)保留如果一个"Pack数值型" 表格栏其精度 (十进制数字) 是偶数,当数据以字节来保存通过0来保存为十六进制格式的第一个数字。 (该例子中数据带有 3 个字节并且其 精度 是 4。)
0DDDDS
当读取一个Pack数值型数其 精度 是偶数并且如果数据读取的第一个十进制数不为0时,意味着发生了超出精度的情况的读取错误
例如,当一个数值"-1234"被存储在"Pack数值型" 表格栏 (精度 是 4), 一共 5 位 (4 十进制数字 + 1 符号位) 在每4位中被表示。 所以,数据空格的2.5字节被需要。
3字节数据空格的十六进制转储如下:
01234D
UnPack数值型
该表格栏类型以8位代表一个十进制数。 该表格栏时 Pack数值型 的扩展版本,其中追加了4 位 "区" 数据。 这有时被称为 "划分格式"。
以下是一个UnPack数值型的十六进制转储数。(该例子的数据其精度 是 5。)
ZDZDZDZDSD
Z 这是一个用来填充的数据被称为一个区。
十六进制中从0到F的值作为输入被接受。 (由读取数据的区部分引起的错误绝不会发生。)
对于输出来说,它与正符号有相同的值。
D 这是一个十进制数字。
因为左侧 (低地址一侧) 是高阶位置。 (当该表格栏数据是一个正的UnPack数值型时,该表格栏数据可以作为一个"不被零限制的十进制数值"由读取带符号或区的追加值被读取,作为一个字符被读取。)
在十六进制中范围从0到9的十进制值可以被接受。从A到F的值是无效数字 ,所以它变为 读取错误
S 这是一个符号。
在十六进制中像2,3,4,A,C,E,F 这样的值是指正符号。 像 7,B,D 这样的符号是指负符号。像0,1,5,6,8,9 这样的值无效,所以它变为 读取错误
当输出视表的 文字码 像在 ASCII 代码系统中 (GB18030,Unicode(Big endian),Unicode(Little endian),和 UTF-8), 3 是正符号 并且 7 是负号。 当它像在 EBCDIC 代码系统中, F是正符号 并且 D 是负号。 所以,如果该表格栏类型数据时一个正数值, 每个字节 ("SD" 部分 是一个正号数据和 1个十进制数值数据被放在一起, 或者 "ZD" 部分 是区数据(其中包含正负号的相同数据) 和 1个十进制数值数据被放在一起。) 可以作为一个代表 GB18030 代码的"数字字符" 或从 "0" 到 "9"范围的 EBCDIC 代码的字符被读取。
二进制编码十进制数(BCD)
该表格栏类型以4 位 (0.5 字节)代表一个十进制数字 (也就是说,1个字节等于 2 个十进制数)。
这与作为一个BCD类型的
Pack数值型 类似。因为该表格栏数据不能有符号,只有正值可以被处理。
以下是一个BCD的十六进制转储数据。 (该例子的数据带有 3 个字节其 精度 是6。)
DDDDDD
D 这是一个十进制数字。
因为左侧 (低地址一侧) 是高阶位置。 值可以通过从左到右读取十六进制转储数据被获得。
范围从0到9的十进制值可以作为有效数字被接受。从A到F的值是无效数字 ,所以它变为 读取错误
表格栏空格的4 位 (0.5 字节)保留如果一个"BCD" 表格栏其精度 (十进制数字) 是奇数,当数据以字节来保存通过0被存储为十六进制格式的第一个数字。 (该例子中数据带有 3 个字节并且其 精度 是 5。)
0DDDDD
当读取一个BCD数其 精度 是奇数并且如果数据读取的第一个十进制数不为0时,意味着发生了超出精度的情况的读取错误
例如,当一个数值"12345"被存储在"BCD" 表格栏 (精度 是 5), 一共 5 位在每4位中来表示。 所以,数据空格的2.5字节被需要。
这是一个带有3个字节的十六进制转储数据的例子:
012345