Sql Server中的数据类型和Mysql中的数据类型的对应关系

mac2025-04-28  5

一、SQL SERVER与MySQL数据存储的差异

1、SQL SERVER中的datetime,保留到微秒(秒后小数点3位),而mysql仅保留到秒,转换后是否会影响业务,如果影响,需要新增一个字段专门来存储微秒或者毫秒,虽然mysql中没有时间数据类型的精度到达微秒或者毫秒,但是mysql提供对微秒的相关处理函数microsecond、extract跟date_format

2、MySQL使用tinyint代替SQL SERVER的bit

3、自增处理,mysql的自增步长跟增量值是整个实例统一的,不能每个表格动态修改,所以这里在转化的过程中,为auto_increment,根据实例的设置来处理

 

二、SQL SERVER与MySQL数据类型的对应关系如图

 

ID    SQL SERVER    MySQL    Description 1    bigint    bigint      2    binary    binary      3    bit    tinyint    SQL SERVER的bit类型,对于零,识别为False,非零值识别为True。 MySQL中没有指定的bool类型,一般都使用tinyint来代替 4    char    char      5    date    date      6    datetime    datetime    注意,mssql的保留到微秒(秒后小数点3位),而mysql仅保留到秒 7    datetime2    datetime    注意,mssql的保留到微秒(秒后小数点7位),而mysql仅保留到秒 8    datetimeoffset    datetime    注意,mssql的保留时区,这个需要程序自己转换 mssql的保留到微秒(秒后小数点7位),而mysql仅保留到秒 9    decimal    decimal      10    float    float      11    int    int      12    money    float    默认转换为decimal(19,4) 13    nchar    char    SQL SERVER转MySQL按正常字节数转就可以 14    ntext    text      15    numeric    decimal      16    nvarchar    varchar      17    real    float      18    smalldatetime    datetime      19    smallint    smallint      20    smallmoney    float    默认转换为decimal(10,4) 21    text    text      22    time    time    注意,mssql的保留到秒后小数点8位,而mysql仅保留到秒 23    timestamp    timestamp      24    tinyint    tinyint      25    uniqueidentifier    varchar(40)    对应mysql的UUID(),设置为文本类型即可。 26    varbinary    varbinary      27    varchar    varchar      28    xml    text    mysql不支持xml,修改为text  

最新回复(0)