DECLARE
arg date;
begin
   arg := to_char('23-12-23 12:12:12','yyyy-mm-dd hh24:mi:ss');
   dbms_output.put_line(arg);
end;这个报错,,,应该怎么写啊?   我像把年,月,日,小时,分钟,秒  都保存在arg中

解决方案 »

  1.   

    DECLARE
    arg date;
    begin
       --arg := to_char('23-12-23 12:12:12','yyyy-mm-dd hh24:mi:ss');
       select to_date(to_char(sysdate,'yyyy-mm-dd hh23:mm:ss')) into arg from dual;
       dbms_output.put_line(arg);
    end;
      

  2.   

    date里面的数据  可以保存小时,分钟,秒吗? 
    如果不行,,,什么数据类型可以保存
      

  3.   

    DECLARE
    arg date;
    begin
      arg := to_date('23-12-23 12:12:12','yyyy-mm-dd hh24:mi:ss');
      dbms_output.put_line(arg);
    end;
      

  4.   

    DECLARE
    arg date;
    begin
       --arg := to_char('23-12-23 12:12:12','yyyy-mm-dd hh24:mi:ss');
       select to_date(sysdate,'yyyy-mm-dd hh23:mi:ss') into arg from dual;
       dbms_output.put_line(arg);
    end; 
    这样写也不行
      

  5.   

    这样写返回的结果是:  23-12-23   没有小时分钟秒啊
    是不是date数据类型不能保存小时,分钟,秒啊?什么类型可以保存啊?
      

  6.   

    可以保存,你大概是想说打印出来看不到小时,分,秒吧?
    先执行下
    alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
      

  7.   

    暈,你先要清楚hh24所代表的意義:
    hh24代表24小時制,不加或hh12是12小時制
    哪有hh23的呀,這是什麼小時制呀,呵呵