Unicode 6706:Teradata中的不可翻译字符
我有以下两个由阿拉伯字符组成的字符串,这些字符串每天都会导致“我的mloads”失败:Unicode 6706:Teradata中的不可翻译字符,unicode,teradata,unicode-string,mload,Unicode,Teradata,Unicode String,Mload,我有以下两个由阿拉伯字符组成的字符串,这些字符串每天都会导致“我的mloads”失败: شركة جيبكا السعودية ح717695 插入这两个字符串的两列都定义为Unicode。对于这些字符串,translate_chk也不起作用 以下是我正在使用的select语句: select Translate_Chk ( 'شركة جيبكا السعودية' using LATIN_TO_UNICODE WITH ERROR) 此外,我为一个芬兰客户编写了以下代码,效果很好。但它
شركة جيبكا السعودية
ح717695
插入这两个字符串的两列都定义为Unicode。对于这些字符串,translate_chk也不起作用
以下是我正在使用的select语句:
select Translate_Chk ( 'شركة جيبكا السعودية' using LATIN_TO_UNICODE WITH ERROR)
此外,我为一个芬兰客户编写了以下代码,效果很好。但它在阿拉伯字符的情况下不起作用
SELECT (CASE WHEN Translate_Chk ( TRIM('شركة جيبكا السعودية') using LATIN_TO_UNICODE ) <> 0
THEN
CASE WHEN (regexp_Instr('شركة جيبكا السعودية',
'\x{00}|\x{01}|\x{02}|\x{03}|\x{04}|\x{05}|\x{06}|\x{07}|\x{08}|\x{09}|\x{0B}|\x{0C}|\x{0E}|\x{0F}|\x{10}|\x{11}|\x{12}|\x{13}|\x{14}|\x{15}|\x{16}
|\x{17}|\x{18}|\x{19}|\x{1A}|\x{1B}|\x{1C}|\x{1D}|\x{1E}|\x{1F}|\x{5E}|\x{60}|\x{7C}|\x{7E}|\x{7F}|\x{A0}|\x{A2}|\x{A6}|\x{A8}|\x{A9}|\x{AA}|\x{AB}|\x{AC}
|\x{AD}|\x{AE}|\x{AF}|\x{B0}|\x{B1}|\x{B2}|\x{B3}|\x{B4}|\x{B5}|\x{B6}|\x{B7}|\x{B8}|\x{B9}|\x{BA}|\x{BB}|\x{BC}|\x{BD}|\x{BE}|\x{F0}',1,1,0,
'c')) >0
THEN
''
when TD_SYSFNLIB.InSTR('شركة جيبكا السعودية', U&'\008A' UESCAPE '\')>0
THEN
''
WHEN TD_SYSFNLIB.InSTR('شركة جيبكا السعودية', U&'\009A' UESCAPE '\')>0
THEN
''
WHEN TD_SYSFNLIB.InSTR('شركة جيبكا السعودية', U&'\008C' UESCAPE '\') >0
THEN
''
WHEN TD_SYSFNLIB.InSTR('شركة جيبكا السعودية', U&'\009C' UESCAPE '\')>0
THEN
''
WHEN TD_SYSFNLIB.InSTR('شركة جيبكا السعودية', U&'\009F' UESCAPE '\')>0
THEN
''
END
ELSE
'String' END);
选择(使用拉丁语到UNICODE翻译Chk(TRIM(TRIM)时的大小写)0
然后
案例发生时,
\x{{{00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周\\\\\\\\\0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11}\x{12}\x{13}\x{14}\x{15}\x{16}
|\{{17}{{{17}}}{{{{{{{{{}}}}}}}}{{{{{{}}}}}}}}}{{{{{{}}}}}}}{{{{{{}}}}}}}}}}}}{{{{{}}}}}}}}}}}}}}{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{}}}}}}}}上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周上周{A2}|\x{A6}|\x{A8}|\x{A9}|\x{AA}|\x{AB}|\x{AC}
|\纽约{{{{{邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦邦{BC}|\x{BD}|\x{BE}|\x{F0}',1,1,0,
"c")>0
然后
''
当TDU SYSFNLIB.InSTR(‘1588’、‘1580’、‘1576’、‘1575’、‘1575’、‘1583’、‘1577’)大于0时
然后
''
当TDU SYSFNLIB.InSTR(‘1588’、‘1580’、‘1576’、‘1575’、‘1583’、‘1577’、‘UESCAPE’)大于0时
然后
''
当TDU SYSFNLIB.InSTR(‘1588’、‘008C’UESCAPE’)大于0时
然后
''
当TDU SYSFNLIB.InSTR(‘1588’、‘1580’、‘1576’、‘1575’、‘1583’、‘UESCAPE’)大于0时
然后
''
当TDU SYSFNLIB.InSTR(‘1588’、‘1580’、‘1576’、‘1575’、‘1575’、‘1583’、‘U&009F‘UESCAPE’’)大于0时
然后
''
结束
其他的
'字符串'结束);
Teradata Verion是16.20.53.31
我们如何用null替换这些字符串?我不关心数据丢失,因为目前我从文件中删除了这些记录,然后继续我的mload。您到底想实现什么?两个示例字符串都是有效的Unicode。但是
LATIN_TO_UNICODE
强制将文字转换为拉丁语,然后再将其转换为UNICODE,当然,这对于阿拉伯语字符是失败的。但是Teradata拒绝接受这些字符串作为有效的UNICODE。我想说的是,如果Teradata不能接受这些字符串作为有效的unicode字符,那么它们就可以被null替换。感谢您选择“شججب㶈㶈㶈㶈㶈㶈”不会失败。您是否将MLoad作业中的字符集设置为与输入文件匹配?或者打开Unicode Passthrough。