Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird SQL Sortierung - Wert umkehren, möglich? (https://www.delphipraxis.net/183699-firebird-sql-sortierung-wert-umkehren-moeglich.html)

Eppos 29. Jan 2015 15:00

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

mkinzler 29. Jan 2015 15:02

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);

Eppos 29. Jan 2015 15:30

AW: Firebird SQL Sortierung - Wert umkehren, möglich?
 
super vielen dank, hätte nicht gedacht, dass es das gibt

DeddyH 29. Jan 2015 15:55

AW: Firebird SQL Sortierung - Wert umkehren, möglich?
 
Bei Google suchenfirebird reverse string, gleich der erste Treffer ;)

Dejan Vu 30. Jan 2015 07:04

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.

himitsu 30. Jan 2015 07:20

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.

tsteinmaurer 30. Jan 2015 09:19

AW: Firebird SQL Sortierung - Wert umkehren, möglich?
 
Expression Index seit Firebird 2.0: http://www.firebirdsql.org/refdocs/l...eatind-on-expr

Dejan Vu 30. Jan 2015 11:51

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 16:41 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