问题描述
我有以下 2 个由阿拉伯字符组成的字符串,这些字符串每天都无法加载:
شركة جيبكا السعودية
ح717695
插入这 2 个字符串的两列都定义为 Unicode。如果这些字符串 translate_chk 也不起作用。
以下是我使用的选择语句:
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,'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);
teradata 版本是 16.20.53.31
我们如何用 null 替换这些字符串?我不关心数据丢失,因为目前我从文件中删除此类记录并恢复我的 mload。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)