Firebird 6
Verfasst: Mo 2. Feb 2026, 18:18
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): 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. 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':
P.S.: für "Unlist" & Co. habe ich (und wahrscheinlich ihr auch...) natürlich eigene Funktionen definiert. Man braucht das ja ab und an.
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)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)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);