Discussion:
Firebird 2.5 und Calculated Fields
(zu alt für eine Antwort)
Martin Specht
2011-07-08 11:48:53 UTC
Permalink
Hallo,

gibt es in Firebird bei den Calculated Fields die Möglichkeit,
etwas in der Art

if Feld1=Null then Result=Feld2 else Result=Feld1

zu "berechnen", also Zeichenketten-Operationen und
Vergleiche durchzuführen?

Grüße
Martin
Joe Galinke
2011-07-08 12:32:25 UTC
Permalink
Hallo Martin,
Post by Martin Specht
gibt es in Firebird bei den Calculated Fields die Möglichkeit,
etwas in der Art
Du meinst das Ereignis OnCalcFields? Das hat nichts mit Deiner Datenbank,
demnach auch nichts mit Firebird zu tun. Es handelt sich um eine Leistung
von TDataSet.

Aber Du kannst das SQL-Statement dementsprechend erweitern; COALESCE ist
Dein Freund.
Post by Martin Specht
if Feld1=Null then Result=Feld2 else Result=Feld1
SELECT
COALESCE(Column1, Column2) AS CALCED_FIELD FROM MYTABLE

Wenn der Inhalt von Column1 nicht NULL ist, so enthält CALCED_FIELD diesen
Werte, ansonsten den Inhalt von Column2.

Gruß, Joe
--
Martin Specht
2011-07-08 13:45:44 UTC
Permalink
Hallo Joe,
Post by Joe Galinke
Post by Martin Specht
gibt es in Firebird bei den Calculated Fields die Möglichkeit,
etwas in der Art
Du meinst das Ereignis OnCalcFields? Das hat nichts mit Deiner Datenbank,
demnach auch nichts mit Firebird zu tun. Es handelt sich um eine Leistung
von TDataSet.
Nein, habe ich falsch formuliert. Ich meine die berechneten Spalten in
der Datenbank (computed fields)
Post by Joe Galinke
Aber Du kannst das SQL-Statement dementsprechend erweitern; COALESCE ist
Dein Freund.
Post by Martin Specht
if Feld1=Null then Result=Feld2 else Result=Feld1
SELECT
COALESCE(Column1, Column2) AS CALCED_FIELD FROM MYTABLE
Aber COALESCE ist wohl die Lösung. Werd's mal testen.
Post by Joe Galinke
Wenn der Inhalt von Column1 nicht NULL ist, so enthält CALCED_FIELD diesen
Werte, ansonsten den Inhalt von Column2.
Gruß, Joe
Besten Dank!
Grüße
Martin
Martin Behrens
2011-07-08 16:15:57 UTC
Permalink
Post by Martin Specht
gibt es in Firebird bei den Calculated Fields die Möglichkeit,
etwas in der Art
if Feld1=Null then Result=Feld2 else Result=Feld1
zu "berechnen", also Zeichenketten-Operationen und
Vergleiche durchzuführen?
Schlage CASE in Deiner Dokumentation nach.


Martin

Lesen Sie weiter auf narkive:
Loading...