2013-07-02 12 views

Odpowiedz

17

Można użyć:

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

Możesz przeczytać więcej here.

oraz sprawozdania zmiana:

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

Jeżeli trzeba wymienić my_table z nazwą tabeli i my_col z kolumny trzeba być na bieżąco.

+0

i jak zrobić aktualizację w tej samej kolumnie z nowymi wynikami w tym zapytaniu? – beNerd

+0

@beNerd opublikowałem to – Stephan

+0

Po co są 2? –

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

da ciąg z ostatniego indeksu przecinkiem do końca łańcucha

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

jesteś zapytanie zwraca '98477'. –

+0

tak i usuń to ponownie – chetan

6

Prawdopodobnie w ten sposób. Policzyć przecinkami (sprawdzając długość z długością ze wszystkimi przecinkami usunięte), a następnie użyć SUBSTRING_INDEX aby uzyskać ciąg do liczby przecinkami: -

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

+1 dla dynamiczne obliczanie liczby przecinków – Stephan

Powiązane problemy