これはうまくいくようです:
select left( concat('2Ga4la2009','1'), length(concat('2Ga4la2009','1')) - length(convert(convert(reverse(concat('2Ga4la2009','1')),unsigned),char)))
concat('myvalue'、 '1')は、0で終わる数字から保護するためのものです。
逆にすると、数字が前になるように反転します。
内部変換により、反転された文字列が数値に変更され、末尾の文字が削除されます。
外側の変換により、数値部分が文字に戻るため、長さを取得できます。
これで数値部分の長さがわかり、「left()」関数を使用して元の値の文字数を決定できます。
醜いですが、動作します。 :-)