Hallo,
bei einer anwendung die ich derzeit programmiere stellt sich folgendes Problem.
Das SQL statement "ORDER BY" sortiert anders, als compareToIgnoreCase()
Beispiel zum nachvollziehen:
SELECT * FROM test ORDER by name ASC
A1------"".compareToIgnoreCase("A1")=>-2 //Anfang - ist egal...
A10----"A1".compareToIgnoreCase("A10")=>-1
A2-----"A10".compareToIgnoreCase("A2")=>-1
A25---"A2".compareToIgnoreCase("A25")=>-1
A3-----"A25".compareToIgnoreCase("A3")=>-1
b0-----"A3".compareToIgnoreCase("b0")=>-1
C1-----"b0".compareToIgnoreCase("C1")=>-1
1b------"C1".compareToIgnoreCase("1b")=>50 //hier "sortiert" java anders als SQL
1B-----"1b".compareToIgnoreCase("1B")=>0
10B----"1B".compareToIgnoreCase("10B")=>50 //hier auch!
Da ich auf garkeinen fall das Ergebnis von der datenbank umsortieren will (zu groß) - wie kann ich einen Stringvergleich machen, der genau so vergleicht, wie die Sortierung von SQL?
Grüße und spaß beim tüfteln ;-)
Arnd
bei einer anwendung die ich derzeit programmiere stellt sich folgendes Problem.
Das SQL statement "ORDER BY" sortiert anders, als compareToIgnoreCase()
Beispiel zum nachvollziehen:
SELECT * FROM test ORDER by name ASC
A1------"".compareToIgnoreCase("A1")=>-2 //Anfang - ist egal...
A10----"A1".compareToIgnoreCase("A10")=>-1
A2-----"A10".compareToIgnoreCase("A2")=>-1
A25---"A2".compareToIgnoreCase("A25")=>-1
A3-----"A25".compareToIgnoreCase("A3")=>-1
b0-----"A3".compareToIgnoreCase("b0")=>-1
C1-----"b0".compareToIgnoreCase("C1")=>-1
1b------"C1".compareToIgnoreCase("1b")=>50 //hier "sortiert" java anders als SQL
1B-----"1b".compareToIgnoreCase("1B")=>0
10B----"1B".compareToIgnoreCase("10B")=>50 //hier auch!
Da ich auf garkeinen fall das Ergebnis von der datenbank umsortieren will (zu groß) - wie kann ich einen Stringvergleich machen, der genau so vergleicht, wie die Sortierung von SQL?
Grüße und spaß beim tüfteln ;-)
Arnd