在SQL DEVELOPER中连接DATE和TIME

时间:2015-06-19 16:51:34

标签: datetime concatenation oracle-sqldeveloper

我正在尝试将Col_1,DATE ( DD/MM/YY 00:00:00)和Col_2,TIME (hh24:mi:ss)合并到一个列中。

我研究了几个代码并试了几个(adddate()To_Date()),但都没有。 我想知道在 - >

时如何组合这两列

一个。 Col_1为DATE,COL_2为TIME

B中。 Col_1为DATE,COL_2为CHAR

1 个答案:

答案 0 :(得分:0)

DATE数据类型没有特定格式,但您可以使用to_char()函数逐列控制打印格式,也可以通过更改NLS_DATE_FORMAT设置来更改整个会话的默认显示格式像这样:

ALTER SESSION NLS_DATE_FORMAT = 'DD/MM/YY HH24:MI:SS';

现在,如果Col_1已经是日期列,而COL_2是HH24:MI:SS格式的时间字符串表示,您可以将COL_2转换为区间数据类型并将其添加到Col_1,如下所示:

Col_1 + cast('0 '||COL_2 as interval day to second)

将时间字符串转换为间隔时,您需要前导“0”来表示间隔的日期部分。在这种情况下零日。

如果您没有像上面那样更改NLS_DATE_FORMAT字符串,那么您可以输出所需格式的结果,如下所示:

to_char(Col_1 + cast('0 '||COL_2 as interval day to second), 'DD/MM/YY HH24:MI:SS')

但是,最好将结果保留在原始日期类型中以便以后处理。