Ein IF-Statement nützt dir hier nichts, aber die IF()-Funktion könnte gehen. Einfacher wird es jedoch mit SUBSTRING_INDEX() sein. Such damit die Position des ersten '-' und schneide von da +1 zwei Zeichen aus.
Tach,
ich erhalte aber nicht das, was ich will.
SELECT ID, SUBSTRING( Nummer, -10, 2 )
FROM table
WHERE ID > 3
ORDER SUBSTRING( Nummer, -10, 2 ) DESC
liefert mir zwar die höchste Nummer aber zugleich die kleinste ID.
Ich möchte aber die höchste ID haben, die den höchsten Nummernwert inne hat.
AB-55-21-3432
AB-60-20-3222
AB-55-20-3123
AB-55-20-3662
AB-60-20-3627
AB-55-20-3423
AB-55-20-3111
AB-55-92-3422
Hier erhalte ich ID 2. Ich bräuchte aber ID 5.
Hank