用to_date函数啊,不知道你那个时间戳是什么格式
而且如果你就想保存当前系统时间的话,可以用oracle的sysdate
没有必要用php的时间戳

解决方案 »

  1.   

    做一个函数转换
    create function is_date(p_date number)
    return date
    is
    v_date date;
    begin
    v_date:=to_date(to_char(p_date),'yyyymmddhh24miss'); --格式视数值而定
    return v_date;
    end;
    /
    select sysdate-is_date(col_date)*24*60*60 时间戳 from table_name;
      

  2.   

    1 建立一个函数,函数的参数num为时间戳的值create or replace function getdate(num number) return date is
      y number(4);
      m number(2);
      d number(2);
      h number(2);
      s number(2);
      mi number(2);
      val number(10);
      totalday number(18,6);
      
      dat date;
    begin
      val:=num;
      y:=floor(val/(365*12*24*60*60)); 
      val:=mod(val,365*12*24*60*60);
      
      m:=floor(val/(12*24*60*60)); 
      val:=mod(val,12*24*60*60);  
      
      d:=floor(val/(24*60*60)); 
      val:=mod(val,24*60*60);  
      
      h:=floor(val/(60*60)); 
      val:=mod(val,60*60);
      
      mi:=floor(val/60); 
      val:=mod(val,60);
      
      s:=val;
      
      totalday:=y*365+m*12+d+h/24+mi/(24*60)+s/(24*60*60);
      
      dat:=to_date('1970-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss')+totalday;  
      
      dbms_output.put_line(dat);
      return dat;
    end;2 在sqlplus中 先输入 Set ServerOutput on,然后这么调用函数
    declare
      d date;
    begin
      d:=getdate(&d);
      dbms_output.put_line(d);
    end;
    /3 sqlplus提示输入d的值,然后输入时间戳的值即可。
      

  3.   

    你现在的字段是数据字段,想转换成20040701 22:46:12这样的日期格式,但是20040701 22:46:12可以存在数字字段中吗?
    select to_date(to_char(字段),'yyyymmdd hh24:mi:ss') from table
      

  4.   

    CodeMagic(写错了吧) 写得不错,佩服
      

  5.   

    谢谢各位的鼎力支持,我现在以找到了方法,可能会有写修正,经过测试也是行:
    (1)系统时间转化时间戳
    tempstr:=to_char(sysdate,'yyyy-mm-dd HH24:mi:ss');--当前系统时间格式转化
    --获取当前时间到时间戳0点的时间差 (单位:天,一般带小数的,用字符串来处理)
    tempstr:=to_char(to_number(to_date(tempstr,'yyyy-mm-dd HH24:mi:ss')-to_date('1970-1-1 8:0:0','yyyy-mm-dd HH24:mi:ss')));
    tempstr:=to_char(to_number(tempstr)*24*3600);--时间差转化成秒数(有待去掉小数位)
    dbms_output.put_line('系统时间的时间戳:'||tempstr);---系统时间的时间戳
    (2)时间戳直观化
    TimeNumber:=1088728528;--时间戳初始值
    tempstr:=to_char(TimeNumber/(24*3600));---转化为天数
    dbms_output.put_line('当前时间:'||to_char(to_date('1970-01-01 08:0:0','yyyy-mm-dd HH24:mi:ss')+to_number(tempstr),'yyyy-mm-dd HH24:mi:ss'));
    请各位指教指教!