Microsoft SQL Server->MySQL
| 数据类型(Microsoft SQL Server) | 数据类型(MySQL) | 是否支持映射 |
|---|---|---|
| TINYINT | TINYINT | 支持,RDS for MySQL使用无符号 |
| SMALLINT | SMALLINT | 支持 |
| INT | INT | 支持 |
| BIGINT | BIGINT | 支持 |
| DECIMAL | DECIMAL | 支持 |
| NUMERIC | DECIMAL | 支持 |
| FLOAT | FLOAT | 部分支持,可能会精度丢失,不建议作为主键,会造成数据不一致。 |
| REAL | DOUBLE | 支持 |
| SMALLMONEY | DECIMAL(10,4) | 支持,会丢失货币符号。 |
| MONEY | DECIMAL(19,4) | 支持,会丢失货币符号。 |
| BIT | BIT | 支持 |
| DATE | DATE | 支持,不建议作为主键,可能会导致数据不一致。 |
| SMALLDATETIME | DATETIME | 支持 |
| DATETIME2 | DATETIME | 支持,可能会精度丢失。 |
| DATETIME | DATETIME | 支持 |
| DATETIMEOFFSET | TIMESTAMP | 部分兼容,会丢失时区。 |
| TIME | TIME | 支持 |
| XML | LONGTEXT | 支持 |
| CHAR | CHAR/VARCHAR | 支持,根据M的大小转换成对应的类型,小于256是CHAR,大于等于256 是VARCHAR。 |
| VARCHAR | VARCHAR/LONGTEXT | 支持,根据M的大小转换成对应的类型, M为数字是VARCHAR,M为max时是LONGTEXT。 |
| BINARY | BINARY/BLOB | 支持,根据M的大小转换成对应的类型,小于256是BINARY,大于等于256 是BLOB。 |
| VARBINARY | VARBINARY/LONG BLOB | 支持,根据M的大小转换成对应的类型, M为数字是VARBINARY,M为max时是LONGBLOB。 |
| IMAGE | LONGBLOB | 支持 |
| NTEXT | LONGTEXT | 支持 |
| TEXT | LONGTEXT | 支持 |
| NCHAR | CHAR/VARCHAR | 支持,根据M的大小转换成对应的类型,小于256是CHAR,大于等于256 是VARCHAR。 |
| NVARCHAR | VARCHAR/ LONGTEXT | 支持,根据M的大小转换成对应的类型, M为数字是VARCHAR,M为max时是LONGTEXT。 |
| UNIQUEIDENTIFIER | CHAR(36) | 支持 |
| TIMESTAMP | BINARY(8) | 支持 |
- Microsoft SQL Server数据库的datetimeoffset转成MySQL数据库的timestamp会丢失时区。
Microsoft SQL Server的datetimeoffset类型范围为0001-01-01 00:00:00.0000000到9999-12-31 23:59:59.9999999(以 UTC 时间表示),MySQL的timestamp类型范围为1970-01-01 00:00:01.000000到2038-01-19 03:14:07.999999,Microsoft SQL Server数据库的日期类型都会比MySQL数据库的日期类型的范围宽。当超出范围时,DRS服务默认会报错处理。
- Microsoft SQL Server数据库的datetime2转成MySQL数据库映射关系datetime,最大值会变小。
Microsoft SQL Server数据库的最大值是9999-12-31 23:59:59.999999,而MySQL数据库的最大值是 9999-12-31 23:59:59.499999,DRS会统一处理成 9999-12-31 23:59:59。