Zdá se, že to funguje:
select left( concat('2Ga4la2009','1'), length(concat('2Ga4la2009','1')) - length(convert(convert(reverse(concat('2Ga4la2009','1')),unsigned),char)))
Concat('myvalue', '1') má chránit před čísly končícími 0s.
Zadní strana jej otočí, takže číslo je vpředu.
Vnitřní převod změní obrácený řetězec na číslo a vypustí koncové znaky.
Vnější převod převede číselnou část zpět na znaky, takže můžete získat délku.
Nyní znáte délku numerické části a můžete určit počet znaků původní hodnoty, které se mají odříznout, pomocí funkce "left()".
Škaredé, ale jde to. :-)