Vergleich in einer errechneten Spalte

tomon

Neuer Benutzer
Beiträge
2
Hallo,
ich möchte eine Zeitdifferenz aus zwei Datumsfeldern errechnen.
Also: Datum1-Datum2=Differenz in Minuten.
Diese neue Spalte 'Differenz' möchte ich dann vergleichen ob die Abweichung größer 3 Minuten ist.

Ich bekomme bei allen Funktionen (If else, case when, group usw.) die Meldung das Differenz keine Spalte ist.

Kann man das überhaupt so machen oder muss die Spalte 'Differenz' in der Datenbank zum Vergleich gespeichert werden?
Hat jemand eine Idee dazu?

Vielen Dank. Thomas
 
Werbung:
Dazu brauchst Du keine extra Spalte, ist ja berechenbar. Kurzdemo mit PostgreSQL:

Code:
test=# create table tomon(datum1 timestamp, datum2 timestamp);
CREATE TABLE
test=*# insert into tomon values (now(), now()+'1minute'::interval);
INSERT 0 1
test=*# insert into tomon values (now(), now()+'100minute'::interval);
INSERT 0 1
test=*# select * from tomon ;
           datum1           |           datum2           
----------------------------+----------------------------
 2019-07-04 14:33:18.408628 | 2019-07-04 14:34:18.408628
 2019-07-04 14:33:18.408628 | 2019-07-04 16:13:18.408628
(2 rows)

test=*# select *, case when datum2-datum1 > '3minutes'::interval then 'x' else null end as "more than 3 minutes" from tomon ;
           datum1           |           datum2           | more than 3 minutes
----------------------------+----------------------------+---------------------
 2019-07-04 14:33:18.408628 | 2019-07-04 14:34:18.408628 |
 2019-07-04 14:33:18.408628 | 2019-07-04 16:13:18.408628 | x
(2 rows)

test=*#
 
Hallo akretschmer,

vielen Dank für den Tipp! Ich habe viel zu kompliziert gedacht. :)
Bei MS SQL ist der Syntax etwas abweichend aber genau das ist die Lösung!!
Vielen Dank für die Hilfe. Thomas
 
Werbung:
Zurück
Oben