我有一個MySQL表,這種數據查詢來刪除最後一個逗號後的所有字符字符串
TACOMA, Washington, 98477
現在我有千千萬萬這樣的行。我希望數據被處理的方式看起來像這樣:
TACOMA, Washington
是否有可能通過MySQL或我必須手動執行它。
我有一個MySQL表,這種數據查詢來刪除最後一個逗號後的所有字符字符串
TACOMA, Washington, 98477
現在我有千千萬萬這樣的行。我希望數據被處理的方式看起來像這樣:
TACOMA, Washington
是否有可能通過MySQL或我必須手動執行它。
您可以使用:
SELECT SUBSTRING_INDEX('TACOMA, Washington, 98477', ',', 2)
你可以閱讀更多here。
而且更新語句:
UPDATE my_table
SET my_col = SUBSTRING_INDEX(my_col, ',', 2)
,你需要與你的表名和my_col
你需要更新列,以取代my_table
。
substring_index(col, ',',-1)
將給從逗號的最後一個索引字符串結束串
的replace(col,concat(',',substring_index(col, ',',-1)),'')
你查詢返回'98477'。 –
是的,並再次刪除 – chetan
可能是這樣。算上逗號的數量(通過檢查對長度的長度與刪除所有逗號),然後使用SUBSTRING_INDEX得到的字符串,最多逗號數量: -
SELECT SUBSTRING_INDEX(col, ',', LENGTH(col) - LENGTH(REPLACE(col, ',', '')))
FROM SomeTable
+1動態計算逗號計數 – Stephan
以及如何在此查詢中使用新結果對同一列進行更新? – beNerd
@beNerd我已經發布了 – Stephan
2是什麼? –