2013-07-02 192 views

回答

17

您可以使用:

SELECT SUBSTRING_INDEX('TACOMA, Washington, 98477', ',', 2) 

你可以閱讀更多here

而且更新語句:

UPDATE my_table 
    SET my_col = SUBSTRING_INDEX(my_col, ',', 2) 

,你需要與你的表名和my_col你需要更新列,以取代my_table

+0

以及如何在此查詢中使用新結果對同一列進行更新? – beNerd

+0

@beNerd我已經發布了 – Stephan

+0

2是什麼? –

5
substring_index(col, ',',-1) 

將給從逗號的最後一個索引字符串結束串

replace(col,concat(',',substring_index(col, ',',-1)),'') 
+0

你查詢返回'98477'。 –

+0

是的,並再次刪除 – chetan

6

可能是這樣。算上逗號的數量(通過檢查對長度的長度與刪除所有逗號),然後使用SUBSTRING_INDEX得到的字符串,最多逗號數量: -

SELECT SUBSTRING_INDEX(col, ',', LENGTH(col) - LENGTH(REPLACE(col, ',', ''))) 
FROM SomeTable 
+0

+1動態計算逗號計數 – Stephan

相關問題