Mysql
 sql >> Database >  >> RDS >> Mysql

Come rimuovere le cifre dalla fine della stringa utilizzando SQL

Questo sembra funzionare:

select left( concat('2Ga4la2009','1'), length(concat('2Ga4la2009','1')) - length(convert(convert(reverse(concat('2Ga4la2009','1')),unsigned),char)))

Il concat('myvalue', '1') serve a proteggere dai numeri che terminano con 0.

Il rovescio lo capovolge in modo che il numero sia in primo piano.

La conversione interna cambia la stringa invertita in un numero, eliminando i caratteri finali.

La conversione esterna riporta la parte numerica in caratteri, così puoi ottenere la lunghezza.

Ora conosci la lunghezza della parte numerica e puoi determinare il numero di caratteri del valore originale da tagliare con la funzione "left()".

Brutto, ma funziona. :-)