【发布时间】:2016-07-06 19:48:34
【问题描述】:
如何在字符串中的特定单词之后获取字符串的一部分? 例如:第 123 节第 123 节 我需要 Section 和 Block 之后的数字 123
【问题讨论】:
标签: sql-server
如何在字符串中的特定单词之后获取字符串的一部分? 例如:第 123 节第 123 节 我需要 Section 和 Block 之后的数字 123
【问题讨论】:
标签: sql-server
首先,如果 123 在字符串中出现 TWICE,则在两件事之后你不能得到“数字”。 “数字”是指其中之一。
你不能从一个函数返回两个值。
除了这些明显的失误之外,我假设您想要字符串中第一次(如果存在)出现的模式之后的文本。
SUBSTR(columnName, LOCATE('123', columnName) + 3)
“+ 3”的原因是我们要开始搜索 '123' 开头之后的三个字符。更专业的程序员可能会这样编码:
SUBSTR(columnName, LOCATE('123', columnName) + LENGTH('123'))
(当 '123' 的长度很明显是 3 时,实际上并没有必要,但是如果您正在寻找,例如,马萨诸塞州,您可能希望指定 13,因为人们无法立即发现'马萨诸塞'。)
请记住,如果子字符串没有出现,这将失败。
【讨论】: