![]() |
Datenbank: Firebird • Version: 2.1.1 • Zugriff über: ZEOS Lib
Firebird [Order by]: alphanumerisch / numerisch
Hallo DP´ler..
Firebird2.1 - ZEOS - Delphi7 ... Ein Feld:
Delphi-Quellcode:
..soll richtig sortiert werden, rauskommen tut aber:
"PERSONEN" CHAR(30) CHARACTER SET ISO8859_1 COLLATE DE_DE,
Person 1 Person 10 Person 2 Person 20 ist es wirklich nicht möglich, das mit Firebird hinzubekommen? ORDER BY CAST(PERSONENAS UNSIGNED) kennt er ja nicht ... Vielen Dank Erich |
Re: Firebird [Order by]: alphanumerisch / numerisch
Hallo,
das geht schon. Allerdings muss das ganze Feld dann als Integer interpretiert werden können. z.B.
SQL-Code:
Die Nummer muss also vom Namen getrennt werden.
order by cast(personalnr as integer)
Dann geht sowas
SQL-Code:
select Personalname || Personalnummer
From Personen order by Personalname, cast(Personalnummer as integer) Heiko |
Re: Firebird [Order by]: alphanumerisch / numerisch
Vielleicht so...
SQL-Code:
CREATE PROCEDURE LEN (STR VARCHAR(100)) RETURNS (LEN INTEGER)
AS DECLARE VARIABLE pat VARCHAR(100); BEGIN len = 0; IF (str IS NOT NULL) THEN BEGIN pat = ''; len = 0; WHILE (NOT str LIKE pat) DO BEGIN pat = pat || '_'; len = len + 1; END END SUSPEND; END
SQL-Code:
SELECT bez
FROM personen ORDER BY (SELECT len FROM Len(bez)), bez |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:39 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 by Thomas Breitkreuz