![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: FireDAC
Firebird SQL Sortierung - Wert umkehren, möglich?
Hallo zusammen,
gibt es die Möglichkeit, in einem order by mitzugeben, dass dieser das feld drehen soll? Beispiel: Feldname: Feld1 Feldwert: 174855612 order by Feld1 (174855612) mit umkehrfunktion order by Feld1 (216558471) Vielen Dank für Infos Gruß Eppos |
AW: Firebird SQL Sortierung - Wert umkehren, möglich?
Da müsstest Du Dir eine UDF schreiben
Edit: Gibt es schon REVERSE()
SQL-Code:
select * from <Tabelle> where order by REVERSE(FELD1);
|
AW: Firebird SQL Sortierung - Wert umkehren, möglich?
super vielen dank, hätte nicht gedacht, dass es das gibt
|
AW: Firebird SQL Sortierung - Wert umkehren, möglich?
![]() |
AW: Firebird SQL Sortierung - Wert umkehren, möglich?
Vielleicht sollte man noch anmerken, das der SQL-Optimizer hier garantiert keinen Index zum Sortieren verwenden kann. Sollte diese etwas merkwürdige Sortierung über große Tabellen gehen, würde ich der Tabelle dafür ein eigenes Feld spendieren, welches über einen Trigger auf dem aktuellen Stand gehalten wird. Dann noch einen Index drauf und das Sortieren geht echt hurtig.
Lohnt aber nur ab einer gewissen Tabellengröße. |
AW: Firebird SQL Sortierung - Wert umkehren, möglich?
Weiß jetzt nicht, ob es auch bei Firebird geht, aber manchmal kann man den Index auch mit einer Funktion erstellen und dann wird (hoffentlich) der Index auch verwendet, wenn man die selbe Funktion auf dem gleichen Feld benutzt.
Oft wird da z.B. ein Lower- oder Upper-Index verwendet, aber theoretisch könnte man auch alle möglichen sonstigen Funktionen benutzen und sogar mehrere oder gar zusammengesetzte Felder. Ganz besonders gern natürlich vorallem für Unique-Constraints. |
AW: Firebird SQL Sortierung - Wert umkehren, möglich?
Expression Index seit Firebird 2.0:
![]() |
AW: Firebird SQL Sortierung - Wert umkehren, möglich?
Oh. Interessant. D.h. wenn der genau die expression findet, nimmt er den Index. Na ja... was dazugelernt. :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:30 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