2014-01-19 2 views
0

Из строки '000-111-222-333' Мне нужно извлечь '000-111', т.е. часть строки до 2-го '-'в Teradata без hardcoding позиции, поскольку количество символов в строке может vary.Thanks заранееФункция Sub String в Teradata

+1

Что вы уже пробовали , и каковы результаты любых r esearch вы сделали? http://stackoverflow.com/questions/how-to-ask –

ответ

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) 
+0

Есть ли способ получить часть подстроки на основе 3-го появления? –

+0

Какой у вас релиз TD? – dnoeth

Смежные вопросы