alter session set nls_date_format='yyyy-mm-dd hh:mi:ss'
select sysdate from dual;

解决方案 »

  1.   

    转换字符型:
    select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual;
      

  2.   

    select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual;
      

  3.   

    编译有错,错误在alter处,请各位指教,谢谢
    function getDatetime return varchar is Result varchar2(19);
    begin
      alter session_privs sets nls_session_parameters='yyyy-mm-dd hh:mi:ss';
      select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') into Result from dual;
      return(Result);
    end;
      

  4.   

    抱歉贴错了,应该是下面的语句
    编译有错,错误在alter处,请各位指教,谢谢
    function getDatetime return varchar is Result varchar2(19);
    begin
      alter session set nls_date_format='yyyy-mm-dd hh:mi:ss';
      select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') into Result from dual;
      return(Result);
    end;
      

  5.   

    DDL语句只能用动态SQL,否则不能在过程或函数中出现。不过你这个alter语句是没必要的,可以去掉
      

  6.   

    create or replace function getDatetime 
    return varchar is Result varchar2(19);
    begin
      select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') into Result from dual;
      return(Result);
    end;