当您对远程系统发起查询时,如果远程系统运行的目标连接器不同于本地系统(发起程序)连接器,将会转换数据以满足目标数据库的要求。即使发起程序和目标连接器相同,但由于主机格式可能彼此不同,数据也仍然会转换。
务必注意以下有关数据类型的信息:
- 某些数据类型的映射可能无法做到在所有情况下都保留数据,因此请注意,有些查询会发生数据丢失的情况。
例如,把 Presto 中具有无限 VARCHAR 大小的数据导入到有限的 Teradata VARCHAR 列时,数据需要截断,因此会出现数据丢失情况。
再例如,如果将 Teradata 中 byteint 类型的数据导出为布尔值,然后重新将其导入,导入的数据可能不相同。这可能是因为导入的布尔值为零或一,而 byteint 可能包含零或一之外的其他值。
- 如果某个数据类型在远程系统上不受支持,并且检索到的元数据信息包含发起程序系统不支持的全局类型,则发起程序将返回错误。对于其中的列包含不受支持的数据类型的 SELECT * 查询,不受支持的列会导致整个查询返回错误。在这种情况下,查询必须只包含选择列表中支持的列。
- 所有与时间相关的数据类型都以 UTC 时间表示。