我正在使用来自sql表的数据进行coldfusion,并使用查询查询将sql数据连接到oracle数据库中的某些数据。不幸的是,我需要按日期对它们进行排序,而oracle表有两列--DRWR_DATE类型为DATE,TIME类型为VARCHAR2。这两列放入一个字符串读取17-JUN-03 16:35:18
或类似的东西。我需要将这两列作为TIMESTAMP返回,以便我可以使用查询查询来对它们进行排序。
另外,我想我读过一个日期专栏保留了Oracle的时间吗?我对Oracle没有太多经验,所以我不确定如何做到最好。
答案 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”就是你的客户如何展示它。