![]() |
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 |
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 |
Re: Index-Probleme mit Interbase
Du hattest die Lösung doch schon:
SQL-Code:
marabu
select ASDSKRPT, ZSDSKRPT from DSKRPTS
order by upper(ASDSKRPT) |
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. |
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 |
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 |
Re: Index-Probleme mit Interbase
Zitat:
Zitat:
Danke, Martin |
Re: Index-Probleme mit Interbase
upper geht nur, wenn collate angegeben ist.
![]() alternativ: Feld mit computed by upper(Feldname) anlegen Gruß Malte |
Re: Index-Probleme mit Interbase
Zitat:
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:
Vielleicht hilft es dir. Upper() kann zwar auch ohne COLLATE verwendet werden, aber das Ergebnis stimmt dann bisweilen nicht - wenn z.B. Akzente vorkommen.
select per.*, upper(nachname) collate de_de from per where nachname like 'A%' order by 2
marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:49 Uhr. |
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