Функция Sub String в Teradata

Из строки "000-111-222-333" мне нужно извлечь только "000-111", т. Е. Часть строки до 2-го в Teradata без жесткого кодирования позиции, поскольку число символов в строке может варьироваться. Спасибо продвижение

1 ответ

В зависимости от вашей версии TD (или установленных UDF):

SUBSTRING(x FROM 1 FOR INSTR(x,'-',1,2) - 1)

Это должно работать в любой версии TD:

SUBSTRING(x FROM 1 FOR POSITION('-' IN x) + POSITION('-' IN SUBSTRING(x FROM POSITION('-' IN x) + 1)) - 1)
Другие вопросы по тегам