Seite 1 von 1

Firebird 6

Verfasst: Mo 2. Feb 2026, 18:18
von jhoehne
Moin!

Ich spiele grad so ein bisschen rum mit der FB6 Alpha.

FB6 wird Schemata können, Local Temporary Tables, CAST() auf Datumswerte mit einem Format-String (beide Richtungen), die ANY_VALUE Aggregatfunktion, standardkonformes LISTAGG anstelle von LIST() und noch einiges mehr.

Interessant finde ich z.B. die "UNLIST" Funktion, mit der eine Liste a la "1,2,3,4" als Tabelle angesprochen werden kann, wobei man die Werte dann noch casten kann (z.B. Strings auf Integer):

Code: Alles auswählen

SELECT SUM(x) FROM UNLIST('1,2,3,4' RETURNING INTEGER) AS u(x)
gibt 10. Man kann den Trenner auch mit angeben.

Die Funktion "GENERATE_SERIES" gibt eine einspaltige Tabelle mit Zahlenwerten zurück. Als Parameter übergibt man Start- und Zielwert und den Increment (default 1). Alle Werte können auch Fließkommazahlen sein.

Code: Alles auswählen

SELECT x FROM GENERATE_SERIES(1,3,0.5) AS u(x)
gibt 1.0, 1.5, 2.0, 2.5 und 3.0 als Werte für x zurück.

Fun fact: wir machen "4,3,2,1' aus '1,2,3,4':

Code: Alles auswählen

SELECT LISTAGG (ALL TRIM(u.x), ',') WITHIN GROUP (ORDER BY x DESC)
FROM UNLIST('1,2,3,4') AS u(x);
P.S.: für "Unlist" & Co. habe ich (und wahrscheinlich ihr auch...) natürlich eigene Funktionen definiert. Man braucht das ja ab und an.