【问题标题】:Why the Time is missing?为什么时间不见了?
【发布时间】:2015-02-21 19:47:32
【问题描述】:

我的代码如下:

declare
  v_rst varchar2(200);

  cursor c_cur is
    select sysdate from dual;
begin

  open c_cur;
  fetch c_cur
    into v_rst;
  close c_cur;

  dbms_output.put_line(v_rst);

end;

它的输出结果是23-DEC-14

当我运行下面的查询时,结果是12/23/2014 11:21:06 AM:

select sysdate from dual;

我不知道为什么我运行第一个代码时TIME 部分消失了。

【问题讨论】:

    标签: sql oracle plsql oracle11g oracle10g


    【解决方案1】:

    时间并没有“过去”。该格式只是默认格式。您需要将NLS_DATE_FORMAT 设置为默认值:

     ALTER SESSION SET NLS_DATE_FORMAT='YYYY/MM/DD HH:MI:SS';
    

    或您想要的任何格式。

    或者,使用to_char 函数更改您的查询以格式化日期字段

     select to_char(sysdate, 'MM/DD/YYYY HH:MM:SS') from dual;
    

    查看格式模型here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多