oracle中long和date的互换

若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;


你可能感兴趣的:(oracle中long和date的互换)