하위 문자열 사이의 경계를 알아내는 데 문제가 있습니다. 예를 들어 문자열이 063016_shape_tea_cleanse__emshptea1_
인 경우 emshptea1
을 부분 문자열로 지정하려고하지만 문자열이 063016_shape_tea_cleanse__emshptea1_TESTDATA_HERE
인 경우에도 작동해야합니다.Teradata 하위 문자열이 범위를 벗어났습니다.
sel SUBSTR('063016_shape_tea_cleanse__emshptea1_',POSITION('__' IN '063016_shape_tea_cleanse__emshptea1_')+2,
POSITION('_' IN SUBSTR('063016_shape_tea_cleanse__emshptea1_',POSITION('__' IN '063016_shape_tea_cleanse__emshptea1_') + 2,CHARACTER_LENGTH('063016_shape_tea_cleanse__emshptea1_') - (POSITION('__' IN '063016_shape_tea_cleanse__emshptea1_') + 2)))-1)
을하지만 그 -1로 문자열 (27)에 노력하고 그것으로 인해 밖으로 erroring된다
는 현재 내가있다.
그래서''cleanse__' 다음의 모든 항목을 다음'_'까지 올리시겠습니까? –