2011-03-15 155 views
2

我试图将数据从SQL Server数据库导入到Oracle。但是我在日期转换中遇到问题,这是出现在.cvs文件中的SQL Server日期(时间戳)。SQL Server到Oracle |日期格式错误

2008-01-09 15:52:21.483 

我试图找出正确的日期格式:

select TO_DATE('2008-01-09 15:52:21.483','YYYY-MM-DD HH24:MI:SS.FF9') from dual 

但是,这是给我的错误:

Error starting at line 1 in command: 
select TO_DATE('2008-01-09 15:52:21.483','YYYY-MM-DD HH:MI:SS.FF9') from dual 
Error report: 
SQL Error: ORA-01821: date format not recognized 
01821. 00000 - "date format not recognized" 
*Cause:  
*Action: 

谁能解释是正确的日期格式这个时间戳。

回答

1

Oracle date类型不支持秒的小数部分。如果你需要他们 - 你需要创建timestamp代替:

select TO_TIMESTAMP('2008-01-09 15:52:21.483','YYYY-MM-DD HH24:MI:SS.FF9') 
    from dual 
+0

这个时间戳也不起作用 – Switch 2011-03-15 08:07:08

+0

@MMRUser:查询我已经给我的作品在Oracle 10gR2中和11gR2的 – zerkms 2011-03-15 08:09:07

+0

是的,但我列类型是DATE,所以把这个日期格式(从csv导入数据的时候)确实不能解决我的问题。 – Switch 2011-03-15 08:18:14