1

在 Teradata SQL 中出现错误

select Instr(column_name, '|',   -1) + 1  from db.table_name;

得到错误为

SELECT Failed.  [6706] The string contains an untranslatable character.

无法找到哪个特殊字符或记录在这里造成了麻烦。

4

1 回答 1

1

使用 Translate_chk 函数检查哪些字符不可翻译。我认为这主要是在引擎盖下的一个函数试图从拉丁语转换为 unicode 时出现的。检查以下链接如何使用函数和结果代码。

https://www.info.teradata.com/HTMLPubs/DB_TTU_16_00/index.html#page/SQL_Reference%2FB035-1145-160K%2Fusa1472241160802.html%23wwID0EKCDQ

在您的代码中使用 Instr(TRANSLATE(column_name USING LATIN_TO_UNICODE), '|', -1)) + 1 而不是 column_name 应该可以工作。当您有不可翻译的字符时,它会导致空值

于 2018-08-11T14:35:53.940 回答