如何在oracle 11g中获取时间戳列的准确日期和时间?

时间:2017-03-02 04:25:36

标签: sql

我正在执行两个select语句。但它会有所不同。

  1. # cumulative sum with O(n) complexity # from http://stackoverflow.com/a/1475845/327815 class Array def cumulative_sum sum = 0 self.map{|x| sum += x} end end array = [50, 40, 30, 20] p array.reverse.cumulative_sum.reverse
  2. 输出为:select TO_CHAR(AUTHORIZE_DATE,'YYYY-MM-DD')|| 'T' || TO_CHAR(AUTHORIZE_DATE,'HH24:MM:SS') from table_name

    1. 2017-02-21T05:02:58
    2. 输出为:select AUTHORIZE_DATE from table_name

      必填项目:2017-02-21T05:35:58。

      但我无法获得准确的时间。请帮忙解决这个问题?此处列数据类型为Timestamp。

2 个答案:

答案 0 :(得分:1)

你是如此接近,只需改为:(分钟为MI,月份为MM

SELECT TO_CHAR(authorize_date,'YYYY-MM-DD')|| 'T' || TO_CHAR(authorize_date,'HH24:MI:SS') 
FROM table_name;

有关日期类型的TO_CHAR参数的详细信息,您可以go here

答案 1 :(得分:1)

获得该格式的正确方法是这一点(全部使用一个TO_CHAR(),只需使用其所有功能):

select to_char(sysdate, 'yyyy-mm-dd"T"hh24:mi:ss') as now from dual;

NOW
-------------------
2017-03-01T22:49:56