【发布时间】:2010-05-07 14:38:42
【问题描述】:
我目前正在将产品从 SQL Server 迁移到 Oracle。我对 SQL Server 很熟悉,对 Oracle 一无所知,所以如果这个问题的存在冒犯了任何人,我深表歉意。
从这个页面推断,http://download.oracle.com/docs/cd/E12151_01/doc.150/e12156/ss_oracle_compared.htm,看来SQL Server到Oracle的数据类型转换应该是:
REAL = FLOAT(24) -> FLOAT(63)
FLOAT(p) -> FLOAT(p)
时间戳 -> 数字
NVARCHAR(n) -> VARCHAR(n*2)
NCHAR(n) -> CHAR(n*2)
以下是我对它们的问题:
对于FLOAT,考虑到FLOAT(p) -> FLOAT(p),是不是也意味着FLOAT -> FLOAT(24)?
对于TIMESTAMP,由于Oracle也有自己的版本,TIMESTAMP -> TIMESTAMP不是更好吗?
最后,对于 NVARCHAR(n) 和 NCHAR(n),我认为问题在于 Unicode。然后,再次,由于 Oracle 提供了自己的两者版本,NVARCHAR(n) -> NVARCHAR(n) 和 NCHAR(n) -> NCHAR(n) 不是更有意义吗?
如果有人能详细说明前 3 件事,将不胜感激。
提前致谢。
【问题讨论】:
标签: sql-server database oracle