表中有一个字符串“Rj 0001 201410212014110301G 20141103ioR4564534 N20141021N 11R”。我想从字符串中返回值“R4564534” 我使用的查询是:
选择SUBSTR(columnX,POSITION('R'IN columnX),8);
但它返回“Rj”而不是“R4564534” 我想得到的结果是“R4564534”。
答案 0 :(得分:1)
实际上是Rj'只有两个字符?不是' Rj 0001'?
已经有了' R'在你的字符串的第一个位置,当然它不是从第二个' R'开始。
你的Teradata发布了什么?
在TD14中,您可以使用INSTR从第2个字符开始:
SUBSTR(columnX,INSTR(columnX,'R',2),8)
如果你有更复杂的规则,你也可以在REGEXP_SUBSTR中使用正则表达式。