Teradata如何编译不可打印字符?

Teradata如何编译不可打印字符?,teradata,Teradata,Teradata为新行定义了一些特殊字符,如0D0A'XC,但是在哪里可以找到所有这些字符的列表?它是从哪里来的 我需要知道这些角色是如何被翻译的。例如,如何获得回程车厢等 我试着用谷歌搜索这个,但找不到这样的列表,希拉里,Teradata没有定义任何特殊字符;它们存在于所有数据库中 例如: CHR(9) = Tab key = '09'XC CHR(10) = Enter key = '0A'XC CHR(13) = Carriage Return = '0D'XC 有时我们需要将它们添加到

Teradata为新行定义了一些特殊字符,如
0D0A'XC
,但是在哪里可以找到所有这些字符的列表?它是从哪里来的

我需要知道这些角色是如何被翻译的。例如,如何获得回程车厢等


我试着用谷歌搜索这个,但找不到这样的列表,希拉里,Teradata没有定义任何特殊字符;它们存在于所有数据库中

例如:

CHR(9) = Tab key = '09'XC
CHR(10) = Enter key = '0A'XC
CHR(13) = Carriage Return = '0D'XC
有时我们需要将它们添加到数据中,有时我们需要根据需要删除它们。 通常,当我们从其他数据库进行迁移时,以及当两个数据库之间的代码页发生任何更改时,它们就会出现 两个系统或使用某种ETL工具加载到Teradata,或从windows加载文件到UNIX,反之亦然

如果源表包含Unicode字符,而目标表字段定义为拉丁字符集,则将得到 不可翻译字符的问题

例:最近,在从oracle迁移到Teradata的过程中,我们发现了一个奇怪的问题,比如char列 像‘G’(空间和G)这样的数据,我们把它看作是空间,但实际上它是CHR(0)

关于翻译,这取决于我们需要删除还是替换它们。主要有两个UDF用于此(我想它们在TD 14之后可用)

oreplace:从表中选择orepalce(col,CHR(0),“”)(我为我的问题所做的)
translate\u chk:translate\u chk(“abc”使用UNICODE\u转换为拉丁语)

最后,没有具体的清单,解决问题,添加到您的学习和分享,只要您有一些问题


也许一些Teradata专家会给你更多更新…:)

translate\u chk
技术上不翻译字符。它只告诉您是否可以将某个varchar字符串从一个字符集转换为另一个字符集,而不会生成错误字符。如果要翻译,请使用
translate(varchar\u string使用UNICODE\u到拉丁语)
其中
UNICODE\u到拉丁语
可以通过
translate()
支持的任何转换字符串进行转换。如果您想强制转换,即使输入字符串中有不可翻译的字符,也可以使用
translate(varchar\u字符串使用UNICODE\u to\u拉丁语,有错误)
。但请记住,错误字符很难处理。