AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Tabelle nach Quartal sortieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tabelle nach Quartal sortieren

Ein Thema von hoika · begonnen am 29. Okt 2019 · letzter Beitrag vom 5. Nov 2019
Antwort Antwort
Seite 1 von 2  1 2      
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#1

Tabelle nach Quartal sortieren

  Alt 29. Okt 2019, 17:08
Datenbank: FB • Version: 3 • Zugriff über: IBAC
Hallo,
ich habe hier eine Tabelle mit einem Feld Quartal (Char5).
Das Quartal wird gespeichert als QJJJJ,
also 42019 für Q4 2019.
Ich greife nur lesend zu, und habe keinen Einfluss auf die Datenstruktur.

Ich will die Einträge jetzt aufsteigend sortieren.

Order By Quartal geht nicht, weil sonst 32018 vor 42017 einsortiert wird.

was geht wäre
order by cast(substring(quartal from 2 for 5) as integer),cast(substring(quartal from 1 for 1) as integer)

Gibt es da etwas anderes, einfacheres?

Mein aktuelles würde mir schon reichen, es sind Dank zusätzlicher where-Bedingungen nur wenige Datensätze.
Heiko
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: Tabelle nach Quartal sortieren

  Alt 29. Okt 2019, 17:18
M.E. geht es nicht anders. Das Casting zerstört ggF vorhande Nutzbarkeit von Indizes. Aber wenn Du genug andere, brauchbare Filterkriterien hast, fällt das vielleicht nicht ins Gewicht.

Was mir spontan noch einfällt, wäre ein Sort über einen Cast/Convert zu Date, der genau die von Dir angegebene Formatmaske nutzt. Das wäre aber bestenfalls übersichtlicher / eleganter im Anblick.
Gruß, Jo
  Mit Zitat antworten Zitat
RSF

Registriert seit: 13. Mär 2008
153 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Tabelle nach Quartal sortieren

  Alt 29. Okt 2019, 19:11
Einfacher vielleicht nicht aber nur so eine Idee.
Das Feld Quartal in zwei Felder einer temporären Tabelle aufschlüsseln und diese dann sortieren.
Ronald
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Tabelle nach Quartal sortieren

  Alt 29. Okt 2019, 19:39
Hallo,
danke für die Tipps.
Ich lass dass dann einfach so.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Tabelle nach Quartal sortieren

  Alt 30. Okt 2019, 00:19
Hallo,
ich habe hier eine Tabelle mit einem Feld Quartal (Char5).
Das Quartal wird gespeichert als QJJJJ,
also 42019 für Q4 2019.
Ich greife nur lesend zu, und habe keinen Einfluss auf die Datenstruktur.
Immer wieder toll gut durchdachte Tabellendesigns zu sehen.

Aber im Ernst, hast Du es mal mit einem view versucht? Q1 JJJJQ

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Tabelle nach Quartal sortieren

  Alt 30. Okt 2019, 05:35
Hallo,
was bringt mir ein View?

Das Quartal ist gut lesbar als Mensch,
das ist auch gut beim Debuggen.
Heiko
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#7

AW: Tabelle nach Quartal sortieren

  Alt 30. Okt 2019, 08:30
Kann man sich den Cast auf integer jeweils nicht sparen? Wenn man die Zahlen als String sortiert müsste in dem Fall doch das Gleiche rauskommen.
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Tabelle nach Quartal sortieren

  Alt 30. Okt 2019, 09:57
Hallo,
was bringt mir ein View?

Das Quartal ist gut lesbar als Mensch,
das ist auch gut beim Debuggen.
und beim Sortieren?
Bau Dir einen view mit dem zusätzlichen Feld Q1 und dasfüllst Du mit den beiden Substrings.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#9

AW: Tabelle nach Quartal sortieren

  Alt 30. Okt 2019, 11:16
order by substring(quartal from 2 for 5)||substring(quartal from 1 for 1) oder
order by substring(quartal from 2 for 5), substring(quartal from 1 for 1) sollten reichen.

Oder halt eventuell auch so: order by reverse(quartal)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Tabelle nach Quartal sortieren

  Alt 30. Okt 2019, 11:38
Hallo,
danke, der letzte Eintrag passt auch
Klar reicht der SubString-Vergleich.
Heiko

Geändert von hoika (30. Okt 2019 um 11:50 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 10:23 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