天天看點

oracle轉Mysql中,varchar2(10)和number應該轉換為什麼類型? (轉)

一. varchar2(10)和number應該轉換為什麼類型?

oracle轉成mysql時:

varchar2(10)可以轉成varchar(10)

number則要看oracle中存儲的具體是什麼類型的資料:

1、如果是整型,那麼mysql中,用int即可;

2、如果是帶小數位的,那麼mysql中可用numeric類型。

注:mysql中沒有varchar2(10)和number這兩個資料類型

二. Mysql varchar VS Oracle varchar2

mysql和oracle做資料同步。其中表的一個字段在mysql中設定為varchar(6),Oracle中為varchar2(6)

但mysql中能正常存放的資料同步到oracle中卻抱ORA-12899: value too large for column錯誤。

這是為什麼呢?

mysql中varchar(6)代表可以存放6個漢字,6個字母,或6個數字。

oracle中varchar2(6)代表可以中存放6個位元組。即oracle中varchar2的長度代表位元組數而不是字元數。

mysql中一個漢字占三個位元組,Oracle中一個漢字占兩個位元組。

雖然mysql varchar 和orache varchar2中字段設定相同的長度,但oracle中卻存放不下。

http://www.cnblogs.com/yangxia-test/p/4710250.html