Sql Server中的數據類型和Mysql中的數據類型的對應關系(轉)
阿新 • • 發佈:2018-05-27
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中的數據類型的對應關系(轉)