oracle function 如下:create or replace function utc2date
( t int
) return date
is
begin
return to_date('19700101000000','YYYYMMDDHH24MISS')+(t+to_number(replace(SESSIONTIMEZONE,':00',''))*3600)/(24*3600);
end utc2date;现在因为要做从oracle到MySQL的移植,涉及到这个Function,需要将其转换为MySQL的,有哪位高手精通,请指点下。

解决方案 »

  1.   

    MYSQL中有这个函数。FROM_UNIXTIME()mysql> SELECT FROM_UNIXTIME(1196440219);
            -> '2007-11-30 10:30:19'
    mysql> SELECT FROM_UNIXTIME(1196440219) + 0;
            -> 20071130103019.000000
    mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),
        ->                      '%Y %D %M %h:%i:%s %x');
            -> '2007 30th November 10:30:59 2007'MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
      

  2.   

    MuaSam (MuaSam)
      '截至2010-04-13 00:00:25  用户结帖率0.00% 当您的问题得到解答后请及时结贴.
    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
      

  3.   

    Ok,用这个函数试了下,可以了。
    function 如下:DELIMITER $$CREATE  FUNCTION utc2date( t INT)
     RETURNS DATETIME
    BEGINRETURN FROM_UNIXTIME(t+(@@system_time_zone)*3600);END; $$DELIMITER ;