问:
这样一个语句,
insert INTO test ( time) VALUES('2005-07-19 11:53:53')
在有的oracle数据库上运行成功,有的机器上运行不成功。请问oracle中有这样设置么?
( 当然,把它改成
insert INTO test ( time) VALUES(to_date('2005-07-19 11:53:53','YYYY-MM-DD HH24:MI:SS')) 肯定可以运行成功。)
还有一个小问题。oracle有没有提供这种的转换函数
把1104840333 转化为2005-06-28 21:09:17 这种类型。 (1104840333 是从1970- 2005-06-28 21:09:17的秒数
答:
alter session set nls_date_format = 'YYYY-MM-DD HH24:MI:SS''
你的秒数是怎么算的,不对吧?
select (to_date('2005-06-28 21:09:17','yyyy-mm-dd hh24:mi:ss')-to_date('1970','yyyy'))*24*60*60 from dual
出来的结果是1104354557
这个问题可以这样解决:
select to_date('19700101000000','yyyymmddhh24miss')+(1104840333/(24*60*60)) from dual
版权所有 罗明