Функция 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)