Teradata String Manipulation - PullRequest
       5

Teradata String Manipulation

0 голосов
/ 12 июля 2011

Я внимательно изучил синтаксис Teradata безрезультатно

У меня есть несколько строк с числами:

ID
Mickey
Laura9
Larry59N

Как убрать целые числа измои строки?

Я понимаю, что SUBSTR (id, 0, index (id, 'FORMAT%')) будет работать, но я не знаю, что я могу ввести в% FORMAT%область, чтобы просто найти целые числа.

Ответы [ 2 ]

3 голосов
/ 16 сентября 2011

Вы можете использовать oTranslate для удаления чисел:

 BTEQ -- Enter your SQL request or BTEQ command:

Select the_name, oTranslate( the_name, 'a0123456789','a')
from
( SELECT 'Larry59N' the_name FROM ( SELECT 'X' DUMMY ) a
         UNION ALL
         SELECT 'Laura9' FROM ( SELECT 'X' DUMMY ) b
         UNION ALL
         SELECT 'Mickey' the_name FROM ( SELECT 'X' DUMMY ) c
       ) d
;


 *** Query completed. 3 rows found. 2 columns returned.
 *** Total elapsed time was 1 second.

the_name oTranslate(the_name,'a0123456789','a')
-------- -----------------------------------------------------
Larry59N LarryN
Laura9   Laura
Mickey   Mickey

НТН.

Приветствие.

1 голос
/ 13 июля 2011

К сожалению, я не верю, что есть функция, встроенная в Teradata, которая справится с этой задачей.Я бы посоветовал посмотреть на UDF, опубликованные на Teradata Developer Exchange ( ссылка ).В частности, функция eReplaceChar выглядит так, как будто она может помочь вам выполнить то, что вы хотите сделать с этими данными.UDF, найденные по ссылке выше, были опубликованы под лицензией Apache 2.0, поэтому у вас не должно возникнуть проблем с их использованием.

...