2016-07-28 99 views
2

目前我有2列一个保存日期,另一个保存时间(24小时文本版本)。合并日期和时间列

例子:

a_dt   a_time_text 
01-Jan-15  0224 
31-Mar-15  0317 
15-Sep-15  2010 

如何创建持有的日期和时间,像这样的新列:

a_dt_tm 
01-Jan-15 02:24 
31-Mar-15 03:17 
15-Sep-15 20:10 

或任何其他方式,以便我能找到日期的差别/另一个变量之间的时间。

+0

你有没有一个理由,你现在有时间在一个单独的列?也许设计这个的人没有意识到Oracle的DATE数据类型包含时间? –

+0

我没有收集数据或创建数据集。我刚刚获得了相关数据。 –

回答

5

你可以这样做:

to_date 
    (to_char (a_dt,'YYYYMMDD') 
     || a_time_text, 
    'YYYYMMDDHH24MI' 
    ) 

即第一日期列转换为字符串 - to_char (a_dt,'YYYYMMDD'),然后附加的时间字符串,然后将得到的字符串转换回日期。

+0

这只能打印出DD-MMM-YYYY –

+1

@AmandaR。 - 这会创建一个DATE值。要以特定格式显示文本,可以使用'to_char()'或更改客户端的NLS_DATE_FORMAT - 无论是哪种格式模式,例如“YYYY-MM-DD HH24:MI:SS”。您可能会看到,所有原始'a_dt'值中的时间都是00:00:00 –

+0

@AmandaR您使用什么工具查询/查看数据? – shawnt00