Поиск первого буквенного символа в поле базы данных DB2 - PullRequest
0 голосов
/ 29 апреля 2010

Я делаю небольшую работу, которая требует от меня усекать символьные поля DB2. По сути, мне нужно отбросить весь текст, который находится на или после первого буквенного символа.

, например

102048994BLAHBLAHBLAH

становится: -

102048994

В SQL Server это было бы пустяком - PATINDEX набегал и спасал день. Будет много празднования.

Моя проблема в том, что мне нужно сделать это в DB2. Хуже того, результат нужно использовать в запросе на соединение, также в DB2. Я не могу найти легкий способ сделать это. Есть ли в DB2 эквивалент PATINDEX?

Есть ли другой способ решить эту проблему?

Если понадобится, я жестко закодирую 26 цепочек функций LOCATE, чтобы получить мой результат, но если есть лучший способ, я весь слух.

Ответы [ 2 ]

1 голос
/ 11 февраля 2011
SELECT TRANSLATE(lower(column), ' ', 'abcdefghijklmnopqrstuvwxyz') 
FROM table
0 голосов
/ 03 мая 2010

написать небольшой UDF (пользовательскую функцию) на C или JAVA, который выполняет вашу задачу.
Питер

...