sql在字符串中的某个单词后获取子字符串

时间:2016-07-06 19:48:34

标签: sql-server

如何在字符串中的特定单词后获取字符串的一部分? 例如:第123节123 我需要在Section和Block之后的数字123

1 个答案:

答案 0 :(得分:0)

首先,如果字符串中的123出现TWICE,则无法获得"数字"经过两件事。 "号码"意味着其中一个。

您无法从函数中返回两个值。

除了这些明显的失言之外,我假设您希望文本在字符串中出现FIRST(如果它在那里)。

SUBSTR(columnName,LOCATE(' 123',columnName)+ 3)

" + 3"是我们想要开始搜索“' 123'开头的三个字符。一个更专业的程序员可能会这样编码:

SUBSTR(columnName,LOCATE(' 123',columnName)+ LENGTH(' 123'))

(当显然“123”的长度为3时,并不是真的有必要,但如果您正在寻找马萨诸塞州,那么您可能需要指定13因为人们不能立即发现马萨诸塞州的长度。)

请记住,如果子串没有发生,这将失败。