Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Index-Probleme mit Interbase (https://www.delphipraxis.net/64644-index-probleme-mit-interbase.html)

marabu 6. Mär 2006 20:17

Re: Index-Probleme mit Interbase
 
Er akzeptiert auch ORDER BY UPPER() - wäre ja noch schöner - IB Expert 2.5.0.22 PE.

marabu

sancho1980 6. Mär 2006 20:32

Re: Index-Probleme mit Interbase
 
na es muss doch irgendne möglichkeit geben, so sortieren zu lassen, dass groß- und kleingeschriebenes zusammenhängend in der ergebnismenge steht
schau mal in jedes x-beliebige wörterbuch, da stehen auch nicht erst alle großgeschriebenen sachen und dann alles kleingeschriebene

mal ein beispiel:

Einträge: alle, Zeppelin, Sarah, super, Arbeit

sollen zurückgeliefert werden in reihenfolge:

alle, Arbeit, Sarah, super, Zeppelin

marabu 6. Mär 2006 20:37

Re: Index-Probleme mit Interbase
 
Du hattest die Lösung doch schon:

SQL-Code:
select ASDSKRPT, ZSDSKRPT from DSKRPTS
order by upper(ASDSKRPT)
marabu

sancho1980 6. Mär 2006 20:40

Re: Index-Probleme mit Interbase
 
na war mir ja auch intuitiv eingefallen aber das funktioniert nicht; da krieg ich folgende fehlermeldung:

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 2, char 8.
upper.

marabu 7. Mär 2006 06:53

Re: Index-Probleme mit Interbase
 
Da fällt mir jetzt nix zu ein. Ich hatte ja schon in Beitrag #11 geschrieben, dass es bei mir erwartungsgemäß funktioniert.

marabu

Lemmy 7. Mär 2006 07:03

Re: Index-Probleme mit Interbase
 
Hi,

ich kenne den von Dir verwendeten Zeichensatz nicht, aber wenn ich in den letzten 6 Monaten nicht alles verlernt habe, dann ist der Standard-zeichensatz für Mitteleuropa, speziell Deutschland der ISO8859_1, denn der bietet die korrekte Sortierung auch für Umlaute.

Grüße
Lemmy

sancho1980 7. Mär 2006 11:51

Re: Index-Probleme mit Interbase
 
Zitat:

Da fällt mir jetzt nix zu ein. Ich hatte ja schon in Beitrag #11 geschrieben, dass es bei mir erwartungsgemäß funktioniert.
interbase?

Zitat:

ich kenne den von Dir verwendeten Zeichensatz nicht, aber wenn ich in den letzten 6 Monaten nicht alles verlernt habe, dann ist der Standard-zeichensatz für Mitteleuropa, speziell Deutschland der ISO8859_1, denn der bietet die korrekte Sortierung auch für Umlaute.
Mag sein, aber ich will Unicode verwenden, weil ich hier an einer Terminologiedatenbank rumfummele die potenziell mit allen möglichen Sprachen können soll. Deswegen noch einmal meine vorherige Frage: Weiß einer von euch, OB es möglich ist, sich in Interbase auch eigene Sortierreihen folgen festzulegen (bitte nicht mit Gegenfrage antworten ;)

Danke,
Martin

Frank Borland 8. Mär 2006 11:05

Re: Index-Probleme mit Interbase
 
upper geht nur, wenn collate angegeben ist. Details hier

alternativ: Feld mit computed by upper(Feldname) anlegen

Gruß


Malte

marabu 8. Mär 2006 11:47

Re: Index-Probleme mit Interbase
 
Zitat:

Zitat von sancho1980
Zitat:

Da fällt mir jetzt nix zu ein. Ich hatte ja schon in Beitrag #11 geschrieben, dass es bei mir erwartungsgemäß funktioniert.
interbase?

Entschuldige - auf der Maschine war FB15 installiert, als ich dein Problem nachzustellen versuchte.

Jetzt auf der Maschine mit IB6 erhalte ich auch den Fehler. Das hat aber nichts mit einem falschen CharSet zu tun - IB mag einfach keine functions in der order by Klausel. In einer Anwendung umgehe ich das Problem etwa so:

SQL-Code:
select per.*, upper(nachname) collate de_de from per where nachname like 'A%' order by 2
Vielleicht hilft es dir. Upper() kann zwar auch ohne COLLATE verwendet werden, aber das Ergebnis stimmt dann bisweilen nicht - wenn z.B. Akzente vorkommen.

marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:49 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz