我需要在第一个破折号之后从字符串的开头提取一个子字符串到6个字符,但是在第二个破折号处停止。 有:
X13-145222-2
X13X1-125256
X13DD1-045455-5
通缉:
X13-145222
X13X1-125256
X13DD1-045455
答案 0 :(得分:1)
所以你想要从字符串的开头到第一个连字符后的第6个字符的所有内容吗?
这应该有效。如果可以使用不带连字符的字符串,则需要使其更复杂,但是您的示例意味着总是至少有一个。
SUBSTR( string, 1, INSTR( string, '-') + 6 )
答案 1 :(得分:1)
regexp_replace(string, '^((.*?)-(.*?))-.*$', '\1')