目录

Search

  1. 前言
  2. PowerCenter Express 简介
  3. Informatica Developer
  4. 模型存储库
  5. Informatica Developer 中的搜索
  6. 连接
  7. 物理数据对象
  8. 平面文件数据对象
  9. 配置文件
  10. 数据的逻辑视图
  11. 转换
  12. 查看数据
  13. 应用程序部署
  14. 对象导入和导出
  15. 数据类型引用
  16. 键盘快捷方式
  17. 连接属性

Developer tool 指南 用户指南

Developer tool 指南 用户指南

端口间数据转换

端口间数据转换

数据集成服务根据端口的数据类型转换数据。每次数据通过端口时,数据集成服务都会识别分配给该端口的数据类型,并根据需要基于支持的数据类型转换数据。

在数据类型相同的端口之间传递数据

您可以创建一个映射,以便在数据类型相同的端口之间传递数据。在数据类型相同的端口之间传递数据时,数据集成服务传递数据时不更改数据或数据类型。
但是,在相同数值数据类型的端口间传递数据并且数据在转换之间传输时,数据集成服务并不总是将数据转换为数据被传递到的端口的精度和小数位数。
您可以通过如下方式在精度、小数位数以及精度模式不同的端口之间传输小数数据:
在低精度模式下传递小数数据
如果在低精度模式下将数据传递至十进制端口,数据集成服务会将所有十进制端口转换为精度为 15、小数位数为 0 的双精度类型。例如,在低精度模式下将值从十进制 (14, 3) 传递至十进制 (9, 5)。数据集成服务会在内部存储该值,且不会在低精度模式下截断数据。
在高精度模式下缩减小数位数传递十进制数据
如果在高精度模式下将数据传递至十进制端口,且十进制端口之间的小数位数出现缩减,则会出现小数位数截断。例如,将值从十进制 (18, 5) 传递至十进制 (18, 2)。传递 18.01234 时,数据集成服务会截断数据的小数位数,输出的数据为 18.01。
在高精度模式下降低精度传递十进制数据
可以在高精度模式下降低精度将数据传递至十进制端口。例如,在高精度模式下将值从十进制 (19, 5) 传递至十进制 (17, 2)。如果输出字段包含的值超出 17 位,数据集成服务会拒绝该行。

在数据类型不同的端口之间传递数据

在数据类型不同的端口之间传递数据时,数据集成服务会使用转换语言中的转换函数将数据从一种数据类型转换为另一种数据类型。
例如,将字符串端口连接至整型端口。运行映射时,数据集成服务将使用 TO_INTEGER 函数将输入数据从字符串转换为整型数据类型。
数据集成服务执行端口间转换时,传递的数据必须可以用于转换数据类型。数据集成服务无法转换的任何值都会导致转换行错误。例如,将包含值“9,000,000,000,000,000,000.777”的字符串端口连接到 Bigint 端口。数据集成服务无法将字符串转换为长整型值,并返回错误。
数据集成服务在转换之间以及管道中的最后一个转换与目标之间执行端口间转换。
下表介绍了数据集成服务执行的端口间转换:
数据类型
长整型
整型
小数
双精度型
字符串、文本
日期/时间
二进制
具有时区的时间戳
长整型
整型
小数
双精度型
字符串、文本
日期/时间
二进制
具有时区的时间戳