gpt4 book ai didi

sql - 错误 : String contains an untranslatable character - TERADATA (for REGEXP_REPLACE operation)

转载 作者:行者123 更新时间:2023-12-01 11:19:52 28 4
gpt4 key购买 nike

我需要清理一个字符列,为此我使用了 REGEXP_REPLACE Teradata 14 中的功能。

同一段代码适用于其他一些数据源(具有相同的 LATIN 编码)。

使用 show table 的数据定义为我提供了以下数据格式:

CREATE SET TABLE pp_oap_cj_t.dc_loss_fdr_kn ,NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT,
DEFAULT MERGEBLOCKRATIO
( PARENT_ID DECIMAL(38,0),
FS_MRCH_NM VARCHAR(25) CHARACTER SET LATIN NOT CASESPECIFIC
) PRIMARY INDEX ( PARENT_ID );

我正在执行的查询如下:
CREATE TABLE pp_oap_pb_piyush_t.CHECKMERCHANT1 AS (
SELECT
FS_MRCH_NM,
REGEXP_REPLACE(trim(Upper(trim(REGEXP_REPLACE( (FS_MRCH_NM ) , '[^a-z]',' ',1,0,'i'))) ), '[[:space:]]+',' ',1,0,'i') as cleaned_merchant
FROM pp_oap_pb_piyush_t.CHECKMERCHANT)
WITH DATA PRIMARY INDEX (FS_MRCH_NM);

错误
CREATE TABLE Failed. 6706:  The string contains an untranslatable character.

我需要快速解决这个瓶颈。

非常感谢帮助!
谢谢 !!!!

最佳答案

引擎盖下的 REGEXP_REPLACE 将字符集拉丁语转换为 Unicode。您已将变量定义为字符集拉丁语。当数据具有无法从拉丁语转换为 Unicode 的内容时,您会看到错误。最好的办法是修复您的 DDL 以将字符集设置为 Unicode 而不是拉丁文。类似于 TRANSLATE(FS_MRCH_NM USING LATIN_TO_UNICODE WITH ERROR) 在您的代码中而不是 FS_MRCH_NM 应该可以工作。当你有不可翻译的字符时,这个问题会导致空值。

关于sql - 错误 : String contains an untranslatable character - TERADATA (for REGEXP_REPLACE operation),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45174442/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com