1. 程式人生 > >Sql Server中的數據類型和Mysql中的數據類型的對應關系(轉)

Sql Server中的數據類型和Mysql中的數據類型的對應關系(轉)

bool script 根據 文本 article 自己 bigint 表格 eight

Sql Server中的數據類型和Mysql中的數據類型的對應關系(轉):https://blog.csdn.net/lilong329329/article/details/78899477

一、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

Sql Server中的數據類型和Mysql中的數據類型的對應關系(轉)