2011-09-20 76 views
3

我有一個城市名單,其中有「洛杉磯(加利福尼亞州)」的城市名稱。集團由一個字段中的子字符串

我試圖提取包含與請求括號之間的所有值,但我不能管理它做好...

我想請求是這樣的:

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 "%(%)%" 

這些請求似乎有什麼問題?

回答

2

試試這個:

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

謝謝你的建議。我編輯了我的第一篇文章,因爲我忘了準確地說我正在使用mySQL,它不能識別CHARINDEX函數:( –

+0

沒關係!那我用LOCATE和LEN替換了CHARINDEX LENGTH,我似乎工作正常!謝謝! –

相關問題