-
Sortierung CCSID 273
Hallo Zusammen!
Ich habe ein Problem mit einer Sortierung von Umlauten in einer PF und hoffe ich finde hier die Antwort: "Warum die Sortierung sich ändert"
CCSID der PF ist 273
Feld innerhalb diese PF ist char(30) ebenfalls CCSID 273, Feld mit Groß/Kleinschreibung gefüllt.
Ich möchte die ersten 4 Stellen dieses Feldes aufsteigend sortieren.
wenn ich die Abfrage wie folgt ausführe, ist die Sortierung korrekt
Code:
SELECT substr((FELD), 1, 4) FROM MY_TABLE GROUP
BY substr((FELD), 1, 4) ORDER BY substr((FELD), 1, 4)
Ergebnis
"Scha" steht vor "Schü"
ergänze ich die Abfrage um den Wert UPPER, stimmt das Ergebnis nicht mehr
Code:
SELECT substr(upper(FELD), 1, 4) FROM MY_TABLE GROUP
BY substr(upper(FELD), 1, 4) ORDER BY substr(upper(FELD), 1, 4)
Ergebnis
"SCHÜ" steht vor "SCHA"
Kann mir jemand vllt etwas Laienhaft erklären wieso dieses so ist?
Vielen Dank im Voraus
-
Ü = Hex 5a
A = Hex C1
also ist Ü < A
ach so, ü ist hex D0 und somit größer als a = Hex 81
Robi
* es gibt aber die möglichkeit eine sortierung anzusprechen die gr.Kl. gleich behandelt.
Wenn morgen die Kiste wieder an ist, schau ich das mal nach
Last edited by Robi; 24-09-12 at 17:04.
Grund: warum es klein funktioniert
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Wenn SRTSEQ=*HEX angegeben ist, wird nach Hex-Wert sortiert. Wie Robi schon geschrieben hat hängt die Sortierung dadurch nach der Reihnfolge der Hex-Werte ab.
Du kannst aber auch z.b. SRTSEQ=*LANGIDUNQ benützen. Damit ist dann die Sortierung in beiden Fällen wieder identisch.
lg Andreas
-
In diesem Fall sollte man beim Order aber dann die Mätzchen mit SUBSTR und UPPER lassen, da diese Sortierung Groß/Kleinschreibung ignoriert und Upper dann unnötig ist!
Auch ein Index wäre dann ganz hilfreich so dass das dann schneller geht.
Desweiteren ist zu beachten dass die Sortierung nach Sprache das "Ü" nun nach dem "U" sortiert genauso wie "Ä" dann direkt nach "A" kommt, genauso wia alle anderen Sonderzeichen wie z.b. é, è usw.
-
unsere Lösung für Gr./Kl. identisch ist so
Code:
.A..........A.Name++++++.LängeDDsF......Funktionen++++++++++++++++++++++++++ ...
************* Datenanfang ******************************************************
A ALTSEQ(*LIBL/QSRTSTVNUM)
* SORT: GROß=KLEISCHREIBUNG + * NACH HINTEN (C5 <=> FF)
A R SAVO3 PFILE(VO3M1)
A K VO3020
A K VO3006
A K VO3029
A K VO3007
Das ist schon EWIG bei uns so, das mit dem
SRTSEQ=*LANGIDUNQ
kenn ich zwar, weis aber nicht ob es hierzu einen Unterschied gibt.
und ..., wie Baldur schon geschrieben hat ... den UPPER dann weglassen !!!
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Hallo Robi,
kann es sein, dass die QSRTSTVNUM etwas hauseigenes bei euch ist ?
Habe jetzt auf allen mir zugänglichen Maschienen (10 Stück) geschaut. Dort habe ich nirgens ein Objekt QSRTSTVNUM gefunden.
Gruß
Ronald
-
Hi Ronald,
Denke das wirst Du auch nicht finden. Ein Schelm der eigene Definitionen mit Q... Objekte erstellt. ;-)
Habe selber auch solche Tabellen, allerdings mit einem eindeutigen Naming.
kf
-
Huch ...
<.ALTe-Denke>
das Ding heist Q und kommt deshalb von IBM.
<.NEUe-Denke>
Da die *TBL ausschließlich in der Anwendungslib steht hat der Erfinder wohl nur einen unglücklichen Namen gewählt.
Die Tabelle ist tatsächlich "Hausintern" und es gab sie schon lange vor meiner Zeit.
... wieder was gelernt
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
dann kannst du uns ja eventuell mit einem
RTVTBLSRC
glücklich machen..?!?!?
-
wenn's schee macht
Code:
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F
202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F
404142434445464748494A4B4C4D4E4F505152535455565758595A5BFF5D5E5F
606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F
80C1C2C3C4C5C6C7C8C98A8B8C8D8E8F90D1D2D3D4D5D6D7D8D99A9B9C9D9E9F
A0A1E2E3E4E5E6E7E8E9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF
C0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF
E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFE5C
es gibt sogar ne Source
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
Similar Threads
-
By codierknecht in forum NEWSboard SAP
Antworten: 32
Letzter Beitrag: 09-02-18, 13:00
-
By schatte in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 01-10-13, 09:38
-
By edv90020 in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 06-04-11, 09:33
-
By schatte in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 08-02-11, 17:36
-
By Binford in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 07-03-06, 08:58
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks