In Oracle SQL I 4 Spalten zusammengeschlossen habe (ex von Spaltennamen: a_d
, a_t
, d_d
, d_t
) in 2 Spalten (ex Namen: a_d_t
und d_d_t
), das jeweils das Formats sind : YYYY-MMM-DD HH24:MI
. Ich versuche herauszufinden, wie viel Zeit (Tage und Stunden) für jede Beobachtung zwischen a_d_t
(die Startzeit) und d_d_t
(die Endzeit) verstrichen ist.Datum und Zeitverschiebung in Oracle SQL
Ich habe versucht d_d_t - a_d_t
und to_date(d_d_t)-to_date(a_d_t)
, aber ich habe für jedes folgende zurück: invalid identifier
.
den Code als Referenz, die ich verwendet (was gearbeitet), die Spalten zu fusionieren ist:
to_char(to_date
(to_char (a_d,'YYYYMMDD')
|| a_t,
'YYYYMMDDHH24MI'
), 'YYYY-MM-DD HH24:MI')
Ich denke, sie sind Datum, der Code, den ich verwendet habe, um die zwei zusammengeführten Spalten zu erstellen, ist oben. –
Sie müssen genauer sein - wenn Sie in dem Code getan haben, was Sie in der Post getan haben, kein Wunder, dass es nicht funktioniert. In der Post sagten Sie, Sie hätten die Spaltennamen a_d, a_t, aber im Code haben Sie a_dt und a_time_text. Wenn das, was Sie sagen, meistens wahr ist, dann sind d_d_t und a_d_t bereits Daten, d_d_t - a_d_t sollte funktionieren, es würde nicht "ungültiger Bezeichner" zurückgegeben. Das ist der richtige Weg, den Zeitunterschied (in Tagen) zu finden. – mathguy
@mathguy bearbeitet Code oben, um besser zu entsprechen, was ich tat. –