AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Integer als Text sortieren

Ein Thema von Poelser · begonnen am 29. Mär 2021 · letzter Beitrag vom 2. Apr 2021
 
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
695 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Integer als Text sortieren

  Alt 2. Apr 2021, 07:48
Es sollte aber auch so gehen: select * from tabelle order by lpad(O_Nr,10,'0')
genau der richtige weg, gibt aber noch einen weg, den man nicht nur da in firebird benutzen kann

Code:
select * from tabelle order by 1000000+O_Nr
Bei sehr großen Datenmengen (d.h. nicht 1000 records, aber bei 1 Million
auf jeden Fall) kann man ein expression index dazu anlegen

d.h.

Code:
CREATE INDEX TAB_IDX1 ON TAB COMPUTED BY (1000000+O_NR)
oder

Code:
CREATE INDEX TAB_IDX2 ON TAB COMPUTED BY (lpad(O_Nr,10,'0'))
und ergänzend noch: Wenn du ähnlich wie bei Postleitzahlen was mit führender
0 Logik brauchst, wie hier beim Sortieren, dann nehm besser gar nicht erst ein
integer, sonder char oder varchar.

Als Auswahlkriterium des Datentyps: muss ich mit dem wert was rechnen? dann
numerisch, sonst eher nicht!

Die Summe von 10 Postleitzahlen zum Beispiel hat wenig sinnvolle Anwendungen,
durchschnitt auch nicht.

und beim char/varchar kannst du ggf per trgger direkt den wert mit lpad sauber
formatieren und gleich so speichern, das auch der order by sinnvoll ist
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
Firebird 5 Update und Know-how Workshop – 28.8.-29.08.2025 64546 Mörfelden - Walldorf

Geändert von IBExpert ( 2. Apr 2021 um 07:53 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:07 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