GoS*_*ash 2 mysql sql database replace trim
我有一个像这样的数据表
---------------
|town |
---------------
|Longton North |
|Longton South |
|Longton North |
|Longton East |
|Longton West |
|East Valley |
|West Valley |
---------------
Run Code Online (Sandbox Code Playgroud)
我知道如何通过使用从字符串中修剪尾随和前导字符
TRIM(BOTH 'North' FROM town)
Run Code Online (Sandbox Code Playgroud)
但我想从我的结果中修剪北、南、西、东。所以输出应该像
---------
|town |
---------
|Longton |
|Longton |
|Longton |
|Longton |
|Longton |
|Valley |
|Valley |
---------
Run Code Online (Sandbox Code Playgroud)
试试这个..这对你有任何用处..
select
trim(TRIM(BOTH 'South' FROM TRIM(BOTH 'North' FROM TRIM(BOTH 'East' FROM TRIM(BOTH 'West' FROM town))))) from tbl
Run Code Online (Sandbox Code Playgroud)
或更多指定
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
Run Code Online (Sandbox Code Playgroud)