フリーテキストフィールドから日付を抽出しようとしています(私たちのプロセスは\のように素晴らしいので、\)、Teradataエラー6706を叩いています。私が使用している正規表現はREGEXP_SUBSTR(original_field,'(\d{2})\/(\d{2})\/(\d{4})',1) AS new_field
です。私はフィールドの型がわからないHELP TABLE
フィールドの型の列に空白があります。文字列から日付を抽出するときの変換不可能な文字
私はすでにTRANSLATE(col USING LATIN_TO_UNICODE)
とUNICODE_TO_LATIN
を使用して変換を試していますが、実際には両方とも実際にエラーが発生します。ストレートのCAST(original_field AS VARCHAR(255))
では問題は解決されませんが、キャストは機能します。私はまた、REGEXP_SUBSTR
にそれ自身でも、すでに言及したキャスト&翻訳でもクラックさせる前に、フィールドからさまざまな特殊文字(改行、改行など)を取り除くことを試みました。
この時点では、問題の内容がわからないため、追加オプションについてのガイダンスを使用して試すことができます。働い
regexp_replaceを使用して、英数字以外の文字をすべて削除してみましたか?本当にフリーのテキストフィールドにどのようなゴミが残っているのかは分かりません。 – Andrew
私は一連の 'OREPLACE'を行った。 'REGEXP_REPLACE'は' [\ r \ t \ n \ e \ f] ''を使ったときと同じエラーが発生しました。なぜOREPLACEと16進コードを使ったのですか? – JMichael
REGEXP_INSTRを使用して、変換可能な範囲外の値を含むレコードを検索しようとしましたか?ビューに対して実行していますか? –