我正在嘗試從自由文本字段中提取日期(因爲我們的過程非常棒,如下所示:\)並繼續觸發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
自己和我已經提到的CAST & TRANSLATEs進行破解。
在這一點上,我不知道這個問題可能是什麼,並可以使用一些額外的選項的指導嘗試。
您是否嘗試使用regexp_replace去除所有非字母數字字符?在真正的免費文本字段中,你不知道你最終會得到什麼樣的垃圾。 – Andrew
我做了一系列'OREPLACE's。當我使用''[\ r \ t \ n \ e \ f]''時,'REGEXP_REPLACE'遇到了同樣的錯誤,因此我爲什麼使用OREPLACE和十六進制代碼。 – JMichael
您是否嘗試過使用REGEXP_INSTR來查找包含可翻譯範圍之外的值的記錄?你是否反對觀點? –