我必须将表从oracle迁移到redshift,必须创建一个脚本,我需要知道我们可以使用Datetime作为数据类型而不是在Oracle中使用Timestamp或date吗?
答案 0 :(得分:0)
否,datetime
在Oracle中不是公认的数据类型。
文档中列出了有效的数据类型,该文档的datetime and interval data types部分:
日期时间数据类型为
DATE
,TIMESTAMP
,TIMESTAMP WITH TIME ZONE
和TIMESTAMP WITH LOCAL TIME ZONE
。日期时间数据类型的值有时称为日期时间。
出于兼容性考虑,支持某些ANSI and other data types,但没有datetime
类型。
这很容易检查:
create table t42 (x datetime);
ORA-00902: invalid datatype
但是,如果您要编写一个脚本以从Oracle迁移到其他地方,则可能根本就不想修改源Oracle模式。您需要使用脚本将DDl和DML从Oracle语法转换为目标DB语法。或者,您可能会发现已经存在工具(例如,如果您的源数据库合适,Amazon似乎拥有its own tool),或者以前在博客上做过类似工作的其他人的指导等。