在 Teradata 中使用 oREPLACE 时无法翻译的字符

问题描述 投票:0回答:0

我正在尝试用一个空格替换文本字段中的双空格。我正在使用 Teradata,但我不确定是哪个版本。我使用 Toad Data Point 来查询数据。

我使用了几种不同的方法来完成这项工作,包括 REGEXP_REPLACE、OREPLACE 和 TRANSLATE,但我不断收到错误消息:[Teradata Database] [6706] The string contains an untranslatable character.

所以,我想在 CASE 语句中使用 TRANSLATE_CHK,但我得到了同样的错误。

这是我最近的尝试。

select
  TSB.SESSION_CREW_MBRS,
  TRANSLATE_CHK(TSB.SESSION_CREW_MBRS USING LATIN_TO_UNICODE) as TransChk,
  CASE
    WHEN TRANSLATE_CHK(TSB.SESSION_CREW_MBRS USING LATIN_TO_UNICODE) = 0
      THEN OREPLACE(TSB.SESSION_CREW_MBRS, '  ', ' ') 
    ELSE TSB.SESSION_CREW_MBRS
  END AS RepChk
FROM 
  myDatabase TSB

有什么想法吗?

sql teradata regexp-replace
© www.soinside.com 2019 - 2024. All rights reserved.