将oracle列作为时间戳返回

时间:2014-11-25 13:01:20

标签: sql oracle coldfusion

我正在使用来自sql表的数据进行coldfusion,并使用查询查询将sql数据连接到oracle数据库中的某些数据。不幸的是,我需要按日期对它们进行排序,而oracle表有两列--DRWR_DATE类型为DATE,TIME类型为VARCHAR2。这两列放入一个字符串读取17-JUN-03 16:35:18或类似的东西。我需要将这两列作为TIMESTAMP返回,以便我可以使用查询查询来对它们进行排序。

另外,我想我读过一个日期专栏保留了Oracle的时间吗?我对Oracle没有太多经验,所以我不确定如何做到最好。

4 个答案:

答案 0 :(得分:3)

试试这个:

SELECT  to_timestamp(
              to_char( drwr_date,'dd-mon-yy') ||' '|| time
              , 'dd-mon-yy hh24:mi:ss'
        ) 
FROM   your_table

答案 1 :(得分:2)

尝试使用TO_TIMESTAMP功能:

SELECT TO_TIMESTAMP('17-JUN-03 16:35:18', 'DD-MON-RR HH24:MI:SS') 
  FROM DUAL;

答案 2 :(得分:1)

您可以尝试将列转换为日期,如下所示:

TO_DATE(column,'DD-MON-YY HH24:MI:SS')

第一个参数采用您的列,第二个参数指定使用的日期格式

答案 3 :(得分:1)

如果你所要做的就是按日期排序,你只需要一个order by子句。

order by drwr_date, time

您不必将这些内容转换为任何内容,除非您出于其他原因需要这样做。请记住,date数据类型本质上是一个浮点数。这个“17-JUN-03”就是你的客户如何展示它。