我有一个具有特定模式的字符串:
23;chair,red [$3]
即一个数字后跟一个分号,然后一个名字后面是一个左方括号.
假设分号;总是存在和左方括号[总是存在于字符串中,我如何提取(而不包括)之间的文本;和[在sql Server查询中?谢谢.
组合SUBSTRING(),LEFT()和CHARINDEX()
函数.
SELECT LEFT(SUBSTRING(YOUR_FIELD,CHARINDEX(';',YOUR_FIELD) + 1,100),CHARINDEX('[',YOUR_FIELD) - 1)
FROM YOUR_TABLE;
这假设你的字段长度永远不会超过100,但是如果需要,可以通过使用LEN()函数来更智能地考虑它.我没有打扰,因为那里已经有足够的进展了,我没有一个实例去测试,所以我只是眼球我的括号等.