sql >> Databasteknik >  >> RDS >> Mysql

Hur man tar bort siffror från slutet av strängen med SQL

Det här verkar fungera:

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

Concat('myvalue', '1') är till för att skydda mot tal som slutar på 0s.

Baksidan vänder den runt så att numret är längst fram.

Den inre omvandlingen ändrar den omvända strängen till en siffra och tar bort de efterföljande tecknen.

Den yttre omvandlingen gör om den numeriska delen tillbaka till tecken, så att du kan få längden.

Nu vet du längden på den numeriska delen, och du kan bestämma antalet tecken i det ursprungliga värdet som ska skäras av med funktionen "left()".

Ful, men det funkar. :-)



  1. Hur man återställer plåstret efter misslyckad cutover-fas i R12.2

  2. Hur man flyttar sedan radera fält i MySQL

  3. Våren 2011 PostgreSQL-konferenser, USA/Kanada

  4. VISA TABELLER i MariaDB