问:
这样一个语句,
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


版权所有 罗明
posted on 2006-02-16 22:33 罗明 阅读(1463) 评论(0)  编辑  收藏 所属分类: Study

只有注册用户登录后才能发表评论。


网站导航: