Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Order By mit Stringfeldern in denen auch Zahlen sind (https://www.delphipraxis.net/138396-order-mit-stringfeldern-denen-auch-zahlen-sind.html)

clock50 9. Aug 2009 18:59

Datenbank: Firebird • Version: 1.5 • Zugriff über: IB

Order By mit Stringfeldern in denen auch Zahlen sind
 
Hallo Leute,

Wie bekomme ich es hin, das er mir die zahlen nach größe sortiert?

Ich habe wie im Titel schon angesprochen String-Felder in denen auch 'Zahlen' sind. Die werden aber 1, 10, 11, 12, 2, 20 usw. geordnet gibt es das noch ne option? Leider brauche ich auch buchstaben und zeichen in diesem Feldern!

mkinzler 9. Aug 2009 19:04

Re: Order By mit Stringfeldern in denen auch Zahlen sind
 
Nut Zahlen? Dann könntest du den Inhalt nach Integer casten

SQL-Code:
select
   ...
from
   ...
order by
   Cast( <Feld> as Integer);

p80286 10. Aug 2009 13:06

Re: Order By mit Stringfeldern in denen auch Zahlen sind
 
Hallo Thomas,

was Du willst geht nicht!
in den Strings stehen keine Zahlen, sondern nur Zeichen, die wie Zahlen aussehen, dann ist es vollkommen korrekt wenn so sortiert wird:

10
100
11
23
5000
7

Wenn Du die Möglichkeit hast zu Formatieren (Einrücken), dann sollte die Sortierung so erfolgen wie Du Sie Dir vorstellst:

SQL-Code:
   7
  10
  11
  23
 100
5000
Gruß
K-H

Leider bekomme ich die Ausgabe nicht so richtig hin

mkinzler 10. Aug 2009 13:13

Re: Order By mit Stringfeldern in denen auch Zahlen sind
 
Wenn nur Zahklen drin sind, kann man aber wie oben geschrieben den Inhalt casten!

DeddyH 10. Aug 2009 13:30

Re: Order By mit Stringfeldern in denen auch Zahlen sind
 
Das klappt u.U. sogar mit Substrings, wird aber beliebig kompliziert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:57 Uhr.

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