我有一个城市表,其中包含诸如“洛杉矶(加利福尼亚)”之类的城市名称。

我试图通过请求提取括号之间包含的所有值,但我无法做得很好......

我尝试的请求如下所示:

SELECT cityname FROM cities WHERE cityname LIKE "%(%)%"
GROUP BY SUBSTR(cityname, FIND_IN_SET(cityname, '('))

或者类似的东西(没有分组依据):
SELECT SUBSTR(cityname, FIND_IN_SET(cityname, '(')) FROM cities
WHERE cityname LIKE "%(%)%"

这些请求似乎有什么问题?

最佳答案

试试这个 :

SELECT SUBSTRING(cityname, CHARINDEX('(',cityname)+1,
           (LEN(cityname) - CHARINDEX('(',cityname)-1))
FROM cities WHERE cityname LIKE '(%)%'

关于mysql - 按字段中的子字符串分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7482194/

10-12 17:07