max zahlenwert aus varchar (MySQL)

xrax

Erfahrenes Mitglied
Hallo zusammen,

ich muss aus einer gegebenen Spalte den höchsten Zahlenwert herausfinden.

Code:
select max(artnr) from artikel

Das klappt so nicht, da die Spalte als varchar definiert ist und auch Buchstaben enthällt.

Als max erhalte ich dann z.B. "BE987".

Auch ohne "Buchstabeneinträge" wird als max z.B. die 999 gefunden , obwohl auch die 1000 drinsteht. Naja, sind halt alles chars.

Weis jemand wie ich den höchsten Zahlenwert erhalte?

Gruß
xrax
 
Versuch doch mal
select max( 0 + artnr) from ...

Ich bin allerdings gespannt, was er aus "BE123" macht.

vop
 
Hi vop,

so klapps schon besser. Allerdings findet er bei 9999xy, ebend diesen Eintrag.
Ich kann :
select max(0+artnr) from..... where artnr not like ('a') and artnr not like ('b')............. bis x.
Und dann noch alle Zeichen?

Ist nicht gerade elegant.
Gibts ein "........where (alles ausser die Einträge mit Buchstaben und/oder Satzzeichen,rechenzeichen.....) " ?

Gruß
xrax
 
Zuletzt bearbeitet:
Sowas müßte sich mit regulären Ausdrücken formulieren lassen

...WHERE artnr REGEXP <<AUSDRUCK>>

wobei ich allerdings nicht weiß, welcher <<AUSDRUCK>> hier für die relevant ist.

vop
 
Zurück