若Oracle数据库时间字段设置为“NUMBER”类型,查询时间列时会以数值的形式展现,像“1241450728000”样式,不具备可读性;同时若以“2009/5/4 15:25:28”样式update时间,则会提示“ORA-01722:invalid number”,无法更新。
这时,就需要我们对此进行格式转化,示例如下:
--date转long示例 select sysdate,(sysdate- to_date('1970-01-01','yyyy-mm-dd'))* 24*60*60*1000 as 整型格式 from dual; --long转date select to_date('1970-01-0100:00:00','yyyy-mm-dd hh24:mi:ss') + 1241450728000/1000/24/60/60 from dual;
原文地址:http://blog.csdn.net/johnnysun2015/article/details/45671857