Anmelden

View Full Version : SQL und Sortierung



malzusrex
24-08-17, 08:36
Hallo Gemeinde,
was muss ich den bei SQL in SrtSeq einstellen, dass mir die Ziffern 0-9 vor dem A sortiert werden, und nicht hinter dem Z landen?
Nahchtrag: Ich bin jetzt bei einem embedded sql im RPGLE

Gruß
Ronald

malzusrex
24-08-17, 09:40
Hi,
habe mir ersteinmal wie folg beholfen:


...
ORDER BY
case when SubStr(Name, 1, 1) between '0' and '9' then ' '
else SubStr(Name, 1, 1) end concat name


Das hilft zwar erst einmal, aber vieleicht gibt es ja noch eine elegante Lösung mit einer Table oder so..

Gruß
Ronald

Fuerchau
24-08-17, 09:53
Cast in N[VAR]CHAR (Graphic, CCSID 13488) => Unicode.
Da die Codes in Unicode wiederum ASCII-basiert sind (Zahlen ab x'0030', Buchstaben ab x'0041'), ergibt sich zwangsläufig eine andere Wertigkeit.
Eine lexikalische Sortierung (SRTSEQ) dürfte bei Unicode vergleichbar funktionieren.
Das war i.Ü. eine Überraschung für einige Anwender nach Umstellung auf Unicode, dass die Sortierfolge bei Unicode eben eine andere ist als gewohnt. Allerdings zieht die AS/400 damit wieder gleich zur Client-Welt (Windows/Mac/Unix).

malzusrex
24-08-17, 10:12
Danke,


Cast( name as nchar(20))

sieht wesentlich hübscher aus und lässt sich auch besser lesen in der Quelle.

Gruß Ronald