* wenn es keinen
.
gibt, einen
.
hinten anhängen
* links mit
0
füllen, also gewünschte Anzahl minus Position des
.
(könnte man bestimmt LPAD für nutzen und einen Leerstring um die gewünschten x Nullen erweitern)
* und zuletzt hinten via RPAD mit weiteren
0
füllen
Wäre es nicht einfacher direkt ein "natual sort" zu verwenden?
[edit] Jupp, siehe #5
https://stackoverflow.com/questions/...ng-numerically
https://forum.lazarus.freepascal.org...?topic=48913.0
SQL-Code:
SELECT ENTRY
FROM TABELLE
order by
CASE
WHEN ENTRY SIMILAR TO '[[:DIGIT:]].[[:DIGIT:]]' THEN CAST ENTRYAS INTEGER)
WHEN ENTRY SIMILAR TO '[[:DIGIT:]][a-z]' THEN ENTRY ....
ELSE CAST(ENTRY AS INTEGER)
END;
Du weißt, dass im RegEx der .
kein Punkt sondern ein Irgendwas ist?
[edit] Stimmt ja, SIMILAR war kein RegEx, sondern was Eigenes und hier isses das
_
.
Zitat:
CAST ENTRYAS INTEGER)
Fehlt da nicht eine Klammer ( und ein Leerzeichen?
Schneidet CAST eigentlich ab oder knallt es, wenn es kein Integer ist?