Microsoft SQL Server->TaurusDB
数据类型(Microsoft SQL Server) | 数据类型(TaurusDB) | 是否支持映射 |
|---|---|---|
TINYINT | TINYINT | 支持,TaurusDB使用无符号。 |
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(3) | 支持 |
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转成TaurusDB数据库的timestamp会丢失时区。
Microsoft SQL Server的datetimeoffset类型范围为0001-01-01 00:00:00.0000000到9999-12-31 23:59:59.9999999(以 UTC 时间表示),TaurusDB的timestamp类型范围为1970-01-01 00:00:01.000000到2038-01-19 03:14:07.999999,Microsoft SQL Server数据库的日期类型都会比TaurusDB数据库的日期类型的范围宽。当超出范围时,DRS服务默认会报错处理。
- Microsoft SQL Server数据库的datetime2转成TaurusDB数据库映射关系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。

