oracle sql server 数据类型,oracle与sqlserver相对应数据类型

oracle与sqlserver相对应数据类型

时间:2013/02/19   来源:cms

我们在进行oracle与sqlserver不同数据库之间的操作的时候,需要注意Oracle的数据类型和SQLServer的数据类型是不一样的。那么我们如何知道oracle与sqlserver相对应数据类型呢?25亿企业网站管理系统对此方面有丰富的经验。

sqlserver为我们提供了两个视图:MSdatatype_mappings和sysdatatypemappings。两个视图都存储在 msdb 数据库中。我们通过查询这两个视图既可以查询出sqlserver数据库与Oracle数据库、IBM DB2数据库、Sybase 数据库这三个数据库之间相对应的数据类型。

MSdatatype_mappings 视图将 SQL Server 数据类型映射到非 SQL Server 数据库管理系统 (DBMS) 使用的数据类型。

sysdatatypemappings 视图用于显示 SQL Server 数据类型与非 SQL Server 数据库管理系统 (DBMS) 数据类型之间的映射。

以MSdatatype_mappings 视图为例,由于两视图都是存储在msdb数据库中,所以查询语句为:SELECT * FROM msdb.dbo.MSdatatype_mappings。sysdatatypemappings视图查询就是:SELECT * FROM msdb.dbo.sysdatatypemappings。

查询MSdatatype_mappings 视图的显示与oracle对应的数据类型结果为:

dbms_name sql_type desc_type dest_prec dest_create_params dest_nullable

ORACLE    bigint    NUMBER    19    3    1

ORACLE    binary    BLOB    NULL    0    1

ORACLE    binary    RAW    -1    4    1

ORACLE    bit    NUMBER    1    3    1

ORACLE    char    CHAR    -1    4    1

ORACLE    char    CLOB    NULL    0    1

ORACLE    char    VARCHAR2    -1    4    1

ORACLE    datetime    DATE    NULL    0    1

ORACLE    decimal    NUMBER    -1    3    1

ORACLE    double precision    FLOAT    NULL    0    1

ORACLE    float    FLOAT    NULL    0    1

ORACLE    image    BLOB    NULL    0    1

ORACLE    int    NUMBER    10    3    1

ORACLE    money    NUMBER    19    3    1

ORACLE    nchar    NCHAR    -1    4    1

ORACLE    nchar    NCLOB    NULL    0    1

ORACLE    ntext    NCLOB    NULL    0    1

ORACLE    numeric    NUMBER    -1    3    1

ORACLE    nvarchar    NCLOB    NULL    0    1

ORACLE    nvarchar    NVARCHAR2    -1    4    1

ORACLE    nvarchar(max)    NCLOB    NULL    0    1

ORACLE    real    REAL    NULL    0    1

ORACLE    smalldatetime    DATE    NULL    0    1

ORACLE    smallint    NUMBER    5    3    1

ORACLE    smallmoney    NUMBER    10    3    1

ORACLE    sysname    NVARCHAR2    128    4    1

ORACLE    text    CLOB    NULL    0    1

ORACLE    timestamp    RAW    8    4    1

ORACLE    tinyint    NUMBER    3    3    1

ORACLE    uniqueidentifier    CHAR    38    4    1

ORACLE    varbinary    BLOB    NULL    0    1

ORACLE    varbinary    RAW    -1    4    1

ORACLE    varbinary(max)    BLOB    NULL    0    1

ORACLE    varchar    CLOB    NULL    0    1

ORACLE    varchar    VARCHAR2    -1    4    1

ORACLE    varchar(max)    CLOB    NULL    0    1

ORACLE    xml    NCLOB    NULL    0    1

ORACLE    bigint    NUMBER    19    3    1

ORACLE    binary    BLOB    NULL    0    1

ORACLE    binary    RAW    -1    4    1

ORACLE    bit    NUMBER    1    3    1

ORACLE    char    CHAR    -1    4    1

ORACLE    char    CLOB    NULL    0    1

ORACLE    char    VARCHAR2    -1    4    1

ORACLE    datetime    DATE    NULL    0    1

ORACLE    decimal    NUMBER    -1    3    1

ORACLE    double precision    FLOAT    NULL    0    1

ORACLE    float    FLOAT    NULL    0    1

ORACLE    image    BLOB    NULL    0    1

ORACLE    int    NUMBER    10    3    1

ORACLE    money    NUMBER    19    3    1

ORACLE    nchar    CHAR    -1    4    1

ORACLE    nchar    CLOB    NULL    0    1

ORACLE    ntext    CLOB    NULL    0    1

ORACLE    numeric    NUMBER    -1    3    1

ORACLE    nvarchar    CLOB    NULL    0    1

ORACLE    nvarchar    VARCHAR2    -1    4    1

ORACLE    nvarchar(max)    CLOB    NULL    0    1

ORACLE    real    REAL    NULL    0    1

ORACLE    smalldatetime    DATE    NULL    0    1

ORACLE    smallint    NUMBER    5    3    1

ORACLE    smallmoney    NUMBER    10    3    1

ORACLE    sysname    VARCHAR2    128    4    1

ORACLE    text    CLOB    NULL    0    1

ORACLE    timestamp    RAW    8    4    1

ORACLE    tinyint    NUMBER    3    3    1

ORACLE    uniqueidentifier    CHAR    38    4    1

ORACLE    varbinary    BLOB    NULL    0    1

ORACLE    varbinary    RAW    -1    4    1

ORACLE    varbinary(max)    BLOB    NULL    0    1

ORACLE    varchar    CLOB    NULL    0    1

ORACLE    varchar    VARCHAR2    -1    4    1

ORACLE    varchar(max)    CLOB    NULL    0    1

ORACLE    xml    CLOB    NULL    0    1

ORACLE    bigint    NUMBER    19    3    1

ORACLE    binary    BLOB    NULL    0    1

ORACLE    binary    RAW    -1    4    1

ORACLE    bit    NUMBER    1    3    1

ORACLE    char    CHAR    -1    4    1

ORACLE    char    CLOB    NULL    0    1

ORACLE    char    VARCHAR2    -1    4    1

ORACLE    datetime    DATE    NULL    0    1

ORACLE    decimal    NUMBER    -1    3    1

ORACLE    double precision    FLOAT    NULL    0    1

ORACLE    float    FLOAT    NULL    0    1

ORACLE    image    BLOB    NULL    0    1

ORACLE    int    NUMBER    10    3    1

ORACLE    money    NUMBER    19    3    1

ORACLE    nchar    NCHAR    -1    4    1

ORACLE    nchar    NCLOB    NULL    0    1

ORACLE    ntext    NCLOB    NULL    0    1

ORACLE    numeric    NUMBER    -1    3    1

ORACLE    nvarchar    NCLOB    NULL    0    1

ORACLE    nvarchar    NVARCHAR2    -1    4    1

ORACLE    nvarchar(max)    NCLOB    NULL    0    1

ORACLE    real    REAL    NULL    0    1

ORACLE    smalldatetime    DATE    NULL    0    1

ORACLE    smallint    NUMBER    5    3    1

ORACLE    smallmoney    NUMBER    10    3    1

ORACLE    sysname    NVARCHAR2    128    4    1

ORACLE    text    CLOB    NULL    0    1

ORACLE    timestamp    RAW    8    4    1

ORACLE    tinyint    NUMBER    3    3    1

ORACLE    uniqueidentifier    CHAR    38    4    1

ORACLE    varbinary    BLOB    NULL    0    1

ORACLE    varbinary    RAW    -1    4    1

ORACLE    varbinary(max)    BLOB    NULL    0    1

ORACLE    varchar    CLOB    NULL    0    1

ORACLE    varchar    VARCHAR2    -1    4    1

ORACLE    varchar(max)    CLOB    NULL    0    1

ORACLE    xml    NCLOB    NULL    0    1

查询出来的结果列名解释:

dbms_name是:DBMS 的名称,包含:SQL Server 数据库、oracle 数据库、IBM DB2 数据库、Sybase 数据库。

sql_type是:SQL Server 数据类型。

dest_type是:非 SQL Server 数据类型的名称。

dest_prec是:非 SQL Server 数据类型的精度。

dest_create_params是:仅供内部使用。

dest_nullable是:指示非 SQL Server 数据类型是否支持空值。

作者: 网站设计@ 网站后台管理系统

原载: 25亿企业网站管理系统

版权所有。转载时必须以链接形式(http://www.25yi.com/sql/shujuleixin-299/)注明作者和原始出处及本声明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值