SQL> create or replace function fc_partime
  2  (
  3  
  4  )
  5  RETURN VARCHAR2
  6  AS
  7  s_date VARCHAR2(30);
  8  BEGIN
  9  s_date:=select sysdate,to_char(current_timestamp,'DD-MON-YYYY HH24:MI:SS') from dual;
 10  RETURN s_date;
 11  END;
 12  /警告: 创建的函数带有编译错误
。我的意思是把时间的结果赋值给一个变量!或者是调用函数的时候直接获得系统时间的字符串!

解决方案 »

  1.   

    s_date:=select to_char(sysdate,'DD-MON-YYYY HH24:MI:SS') from dual; 2 - 4行的括号可以去掉,其他没什么问题
      

  2.   

    噢 ,错了,应该是
    select to_char(sysdate,'DD-MON-YYYY HH24:MI:SS')  into s_date from dual; 
      

  3.   

    或者直接s_date := to_char(sysdate,'DD-MON-YYYY HH24:MI:SS');
      

  4.   

    或者
    select to_char(sysdate,'DD-MON-YYYY HH24:MI:SS') into s_date from dual;
    就这两种写法!
      

  5.   

    s_date:=to_char(current_timestamp,'DD-MON-YYYY HH24:MI:SS');

    select to_char(current_timestamp,'DD-MON-YYYY HH24:MI:SS') into s_date from dual;