我需要清理一個字符列和我使用REGEXP_REPLACE功能的Teradata 14錯誤:字符串中包含不能翻譯的字符 - TERADATA(用於REGEXP_REPLACE操作)
的同一段代碼共事過一段其他數據源(具有相同的LATIN編碼)。
使用顯示錶中的數據定義給了我下面的數據格式:
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.
我需要快速扭轉這個瓶頸。
幫助真的很感激! 謝謝!
您能在代碼塊中格式化您的代碼嗎?很難解析你的查詢。 – nico
格式化了一下。希望現在很清楚。謝謝 –
Checkmerchant表上設置的字符是什麼?你正在顯示不同的表格。 – Andrew