2016-12-07 93 views
1

我有一個數據是這樣的修剪多個後和關閉串MYSQL領先的關鍵字

--------------- 
|town   | 
--------------- 
|Longton North | 
|Longton South | 
|Longton North | 
|Longton East | 
|Longton West | 
|East Valley | 
|West Valley | 
--------------- 

我知道如何修剪使用

TRIM(BOTH 'North' FROM town) 

但我拖尾和先行從串字符表想要在我的結果中修剪北,南,西,東。所以輸出應該像

--------- 
|town  | 
--------- 
|Longton | 
|Longton | 
|Longton | 
|Longton | 
|Longton | 
|Valley | 
|Valley | 
--------- 
+3

提示:'TRIM(TRIM(TRIM (TRIM(...))))'。 –

+0

@GordonLinoff像魅力一樣工作。非常感謝您的幫助。 –

+0

是啊,它就像頭髮剪:) – Rahul

回答

1

試試這個..這會爲你工作,任何方式..

select 
trim(TRIM(BOTH 'South' FROM TRIM(BOTH 'North' FROM TRIM(BOTH 'East' FROM TRIM(BOTH 'West' FROM town))))) from tbl 

或多個指定

select trim(case 
when position('North' in town) > 0 then TRIM(BOTH 'North' FROM town) 
when position('South' in town) > 0 then TRIM(BOTH 'South' FROM town) 
when position('East' in town) > 0 then TRIM(BOTH 'East' FROM town) 
when position('West' in town) > 0 then TRIM(BOTH 'West' FROM town) end) 
from tbl 
+0

'position'檢查只是一個額外的開銷 –

+0

我們也可以寫這個'select trim(TRIM(BOTH'South'FROM TRIM(BOTH'North'FROM TRIM(BOTH'North'FROM TRIM (從鎮上西)'))))從tb' –

+0

這將是一個更好的答案 –