2013-07-02 71 views

Trả lời

17

Bạn có thể sử dụng:

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

Bạn có thể đọc thêm here.

Và báo cáo cập nhật:

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

Trong trường hợp bạn cần phải thay thế my_table với tên bảng của bạn và my_col với cột bạn cần phải được cập nhật.

+0

và làm cách nào để cập nhật trên cùng một cột với kết quả mới trong truy vấn này? – beNerd

+0

@beNerd tôi đã đăng nó – Stephan

+0

2 là gì? –

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

sẽ cung cấp cho các chuỗi từ chỉ số cuối cùng của dấu phẩy để kết thúc của chuỗi

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

Bạn truy vấn trả về '98477'. –

+0

có và xóa lại lần nữa – chetan

6

Có thể theo cách này. Đếm số lượng dấu phẩy (bằng cách kiểm tra độ dài so với độ dài bằng tất cả dấu phẩy đã xóa) và sau đó sử dụng SUBSTRING_INDEX để nhận chuỗi lên đến số lượng dấu phẩy: -

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

+1 cho tự động tính số lượng dấu phẩy – Stephan

Các vấn đề liên quan