В Oracle SQL я слили 4 колонки (Исх имен столбцов: a_d
, a_t
, d_d
, d_t
) в 2 колонки (бывших имен: a_d_t
и d_d_t
), каждый из которых формата : YYYY-MMM-DD HH24:MI
. Я пытаюсь найти, сколько времени прошло (дней и часов), для каждого наблюдения, между a_d_t
(время начала) и d_d_t
(время окончания).Дата и время разница в Oracle SQL
Я пробовал d_d_t - a_d_t
и to_date(d_d_t)-to_date(a_d_t)
, но я получил следующее для каждого: invalid identifier
.
Справочно код, который я использовал (который работал), чтобы объединить столбцы является:
to_char(to_date
(to_char (a_d,'YYYYMMDD')
|| a_t,
'YYYYMMDDHH24MI'
), 'YYYY-MM-DD HH24:MI')
Я думаю, что это дата, код, который я использовал для создания 2 объединенных столбцов, находится выше. –
Вы должны быть более точным, чем это - если бы вы сделали в коде, что вы делали в сообщении, неудивительно, что он не работает. В сообщении вы сказали, что у вас есть имена столбцов a_d, a_t, но в коде у вас есть a_dt и a_time_text. Если то, что вы говорите, в основном верно, то d_d_t и a_d_t уже являются датами, d_d_t - a_d_t должен работать, он не вернет «недопустимый идентификатор». Это правильный способ найти разницу во времени (в днях). – mathguy
@mathguy отредактировал код выше, чтобы лучше соответствовать тому, что я сделал. –