在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上面编辑的代码更好地匹配我所做的。 –