![]() |
Datenbank: Firebird • Version: 2.1 • Zugriff über: Interbase Express
"Order by Upper(3)" geht nicht
Ich hab ein Statement
SQL-Code:
Will ich das case-unsensitiv nach Namen sortieren, müsste ich doch normalerweise einfach
Select PATIENT_ID,
CUSTOMID, SURNAME || " " || FIRSTNAME as PatName, DOB from PATIENTS "Sort by upper(3)" anhängen können. Das geht aber nicht. Nur "order by upper(SURNAME || " " || FIRSTNAME)" geht. Warum? Danke! [edit=Sharky]Delphi-Tags in SQL-Tags geändert. Mfg, Sharky[/edit] |
Re: "Order by Upper(3)" geht nicht
ORDER BY erwartet einen Feldliste, einen Feldindex (Zahl von 1 bis ...) oder einen Ausdruck.
UPPER() erwartet dagegen nur einen Feldnamen oder einen Ausdruck, der ein String ist. Das ist jetzt etwas verkürzt ausgedrückt; die genaue Syntax kann man aus der BNF ermitteln: ![]() |
Re: "Order by Upper(3)" geht nicht
Hallo,
SQL-Code:
Solange du es nicht in einem DBGrid anzeigst, sollte das gehen.
Select PATIENT_ID,
CUSTOMID, SURNAME || " " || FIRSTNAME as PatName, UPPER(SURNAME || " " || FIRSTNAME as PatName), DOB From PATIENTS Order By 4 Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:26 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