Oralce
字段
|
注意事項(xiàng)
|
Date
|
|
Varchar2(n)
|
N<=4000
|
Long
|
N<=2G
|
Row & long row
|
N<=255
|
Blob
|
N<=4G
|
Clob
|
N<=4G
|
Nclob
|
N<=4G
|
Number
|
|
DB2
字段
|
注意事項(xiàng)
|
DATE TIME
TIMESTAMPl
|
如果只使用MM/DD/YYY,那么使用DATE類型。
如果只使用HH:MM:SS, 那么使用TIME類型。
如果要使用日期和時(shí)間,則使用時(shí)間戳類型(TIMESTAMP)
可以使用Oracle中的TO_CHAR()函數(shù)來取DATE的字串來分別與DB2/400的DATE、TIME相匹配。
|
CHAR(n)
VARCHAR(n)
|
若n<=32766,則使用DB2/400中的CHAR類型、VARCHAR
|
VARCHAR(n)
CLOB(n)
|
若n<=32K,則使用DB2/400中的CHAR類型、VARCHAR。
若32K=< n <=2GB,則使用CLOB
|
CHAR(n) FOR BIT DATA
VARCHAR(n) FOR BIT DATA
BLOB(n)
|
若n<=32K, 則使用CHAR(n) FOR BIT DATA 或
VARCHAR(n) FOR BIT DATA
若n<=2GB, 則使用BLOB(n)
|
BLOB(n)
|
若n<=2GB, 則使用BLOB(n)
|
CLOB(n)
|
若n<=2GB, 則使用CLOB(n)
|
DBCLOB(n)
|
若n<=2GB, 則使用DBCLOB(n/2)
|
SMALLINT/INTEGER/BIGINT
DECIMAL(p,s)/NUMBER(p,s)
Float(n)/ REAL/DOUBLE
|
若Oracle中定義NUMBER(p) 或 NUMBER(p,s), 則使用SAMLLINT/INTEGER/BIGINT
若Oracle中定義NUMBER(p,s), 則使用DECIMAL(p,s)
若Oracle中定義NUMBER,則使用FLOAT(n)/REAL/DOUBLE
|
NUMBER
Oracle中的NUMBER類型可以對(duì)應(yīng)DB2/400中的很多類型,這種對(duì)應(yīng)關(guān)系要依賴于Oracle中number將用于保存何種類型的數(shù)據(jù),是整型還是帶有小數(shù)位的實(shí)型數(shù)據(jù),另外還要考慮類型所占用的存儲(chǔ)空間,例如:SAMLLINT占2 byte, INTEGER占4 byte; BIGINT占8 byte;Oracle中的NUMBER類型所占用的存儲(chǔ)空間要根據(jù)它的定義而定,例如缺省精度下的NUMBER有38個(gè)數(shù)字長(zhǎng),占用20 byte的空間。具體的對(duì)應(yīng)關(guān)系請(qǐng)參照上表。
ROW and LOB類型
DB2/400提供VARCHAR和CLOB與ORACLE中的RAW和LONG RAW相對(duì)應(yīng)。ORACLE也支持大對(duì)象:BLOB、CLOB、CLOB和NCLOB, ORACLE中的BLOB和CLOB可以提供4GB的空間,而DB2/400中的BLOB和CLOB只能存放2GB的數(shù)據(jù);DB2/400中的DBCLOB與ORACLE中的NCLOB 2GB相對(duì)應(yīng)。Oracle 中的BFILE數(shù)據(jù)類型用于管理數(shù)據(jù)庫以外的二進(jìn)制數(shù)據(jù),數(shù)據(jù)庫中的表將指向數(shù)據(jù)庫外部的存放的BFILE文件,DB2/400也提供一個(gè)類似的數(shù)據(jù)類型DATALINK相對(duì)應(yīng)。
ROWID
Oracle ROWIND虛擬列用于對(duì)表中的某一列進(jìn)行唯一標(biāo)示,DB2/400中也有這樣的數(shù)據(jù)類型ROWID,它與ORACLE中的ROWID的功能相似。DB2/400中的ROWID可以存放40 byte的數(shù)據(jù)用來唯一標(biāo)示表中的每一行,它沒有ccsid屬性,這些信息中沒有關(guān)于datafile、 block 或 row的信息。
例如:
CREATE TABLE LIBRARYNAME/ORDERS2 (ORDERNO ROWID, SHIPPED_TO VARCHAR (36) , ORDER_DATE DATE) ORDERNO的數(shù)據(jù)類型為ROWID,用于存放訂單號(hào),每當(dāng)插入一行時(shí),系統(tǒng)自動(dòng)生成一個(gè)值,存放進(jìn)這個(gè)字段。可以用OPERATION NAVIGATOR查看它的內(nèi)容。
Character type
DB2/400的CHAR、VARCHAR類型與ORACLE中的VARCHAR2(n)類型相對(duì)應(yīng),但是ORACLE中的VARCHAR2(n)類型僅用于存放較小的字符串,這里的n小于4000,因此在這種情況下,最好用定長(zhǎng)的CHAR(N)類型與ORACLE的VARCHAR2(n)相對(duì)應(yīng),這樣不僅可以提高效率,還可以節(jié)省存儲(chǔ)空間,若使用VARCHAR(n)類型最好用ALLOCATE參數(shù),這樣可以提高數(shù)據(jù)庫的性能,它可以減少內(nèi)存和硬盤之間的輸入/輸出操作。
要注意DB2/400中的字符串中文輸入問題,要想在DB2/400上輸入中文應(yīng)用這樣的SQL創(chuàng)建表,這里的CCSID 935,代表簡(jiǎn)體中文。
Sql sever
數(shù)據(jù)類型
|
類型
|
描 述
|
bit
|
整型
|
bit 數(shù)據(jù)類型是整型,其值只能是0、1或空值。這種數(shù)據(jù)類型用于存儲(chǔ)只有兩種可能值的數(shù)據(jù),如Yes 或No、True 或Fa lse 、On 或Off
|
int
|
整型
|
int 數(shù)據(jù)類型可以存儲(chǔ)從- 231(-2147483648)到231 (2147483 647)之間的整數(shù)。存儲(chǔ)到數(shù)據(jù)庫的幾乎所有數(shù)值型的數(shù)據(jù)都可以用這種數(shù)據(jù)類型。這種數(shù)據(jù)類型在數(shù)據(jù)庫里占用4個(gè)字節(jié)
|
smallint
|
整型
|
smallint 數(shù)據(jù)類型可以存儲(chǔ)從- 215(-32768)到215(32767)之間的整數(shù)。這種數(shù)據(jù)類型對(duì)存儲(chǔ)一些常限定在特定范圍內(nèi)的數(shù)值型數(shù)據(jù)非常有用。這種數(shù)據(jù)類型在數(shù)據(jù)庫里占用2 字節(jié)空間
|
tinyint
|
整型
|
tinyint 數(shù)據(jù)類型能存儲(chǔ)從0到255 之間的整數(shù)。它在你只打算存儲(chǔ)有限數(shù)目的數(shù)值時(shí)很有用。 這種數(shù)據(jù)類型在數(shù)據(jù)庫中占用1 個(gè)字節(jié)
|
numeric
|
精確數(shù)值型
|
numeric數(shù)據(jù)類型與decimal 型相同
|
decimal
|
精確數(shù)值型
|
decimal 數(shù)據(jù)類型能用來存儲(chǔ)從-1038-1到1038-1的固定精度和范圍的數(shù)值型數(shù)據(jù)。使用這種數(shù)據(jù)類型時(shí),必須指定范圍和精度。 范圍是小數(shù)點(diǎn)左右所能存儲(chǔ)的數(shù)字的總位數(shù)。精度是小數(shù)點(diǎn)右邊存儲(chǔ)的數(shù)字的位數(shù)
|
money
|
貨幣型
|
money 數(shù)據(jù)類型用來表示錢和貨幣值。這種數(shù)據(jù)類型能存儲(chǔ)從-9220億到9220 億之間的數(shù)據(jù),精確到貨幣單位的萬分之一
|
smallmoney
|
貨幣型
|
smallmoney 數(shù)據(jù)類型用來表示錢和貨幣值。這種數(shù)據(jù)類型能存儲(chǔ)從-214748.3648 到214748.3647 之間的數(shù)據(jù),精確到貨幣單位的萬分之一
|
float
|
近似數(shù)值型
|
float 數(shù)據(jù)類型是一種近似數(shù)值類型,供浮點(diǎn)數(shù)使用。說浮點(diǎn)數(shù)是近似的,是因?yàn)樵谄浞秶鷥?nèi)不是所有的數(shù)都能精確表示。浮點(diǎn)數(shù)可以是從-1.79E+308到1.79E+308 之間的任意數(shù)
|
real
|
近似數(shù)值型
|
real 數(shù)據(jù)類型像浮點(diǎn)數(shù)一樣,是近似數(shù)值類型。它可以表示數(shù)值在-3.40E+38到3.40E+38之間的浮點(diǎn)數(shù)
|
datetime
|
日期時(shí)間型
|
datetime數(shù)據(jù)類型用來表示日期和時(shí)間。這種數(shù)據(jù)類型存儲(chǔ)從1753年1月1日到9999年12月3 1日間所有的日期和時(shí)間數(shù)據(jù), 精確到三百分之一秒或3.33毫秒
|
Smalldatetime
|
日期時(shí)間型
|
smalldatetime 數(shù)據(jù)類型用來表示從1900年1月1日到2079年6月6日間的日期和時(shí)間,精確到一分鐘
|
cursor
|
特殊數(shù)據(jù)型
|
cursor 數(shù)據(jù)類型是一種特殊的數(shù)據(jù)類型,它包含一個(gè)對(duì)游標(biāo)的引用。這種數(shù)據(jù)類型用在存儲(chǔ)過程中,而且創(chuàng)建表時(shí)不能用
|
timestamp
|
特殊數(shù)據(jù)型
|
timestamp 數(shù)據(jù)類型是一種特殊的數(shù)據(jù)類型,用來創(chuàng)建一個(gè)數(shù)據(jù)庫范圍內(nèi)的唯一數(shù)碼。 一個(gè)表中只能有一個(gè)timestamp列。每次插入或修改一行時(shí),timestamp列的值都會(huì)改變。盡管它的名字中有“time”, 但timestamp列不是人們可識(shí)別的日期。在一個(gè)數(shù)據(jù)庫里,timestamp值是唯一的
|
Uniqueidentifier
|
特殊數(shù)據(jù)型
|
Uniqueidentifier數(shù)據(jù)類型用來存儲(chǔ)一個(gè)全局唯一標(biāo)識(shí)符,即GUID。GUID確實(shí)是全局唯一的。這個(gè)數(shù)幾乎沒有機(jī)會(huì)在另一個(gè)系統(tǒng)中被重建。可以使用NEWID 函數(shù)或轉(zhuǎn)換一個(gè)字符串為唯一標(biāo)識(shí)符來初始化具有唯一標(biāo)識(shí)符的列
|
char
|
字符型
|
char數(shù)據(jù)類型用來存儲(chǔ)指定長(zhǎng)度的定長(zhǎng)非統(tǒng)一編碼型的數(shù)據(jù)。當(dāng)定義一列為此類型時(shí),你必須指定列長(zhǎng)。當(dāng)你總能知道要存儲(chǔ)的數(shù)據(jù)的長(zhǎng)度時(shí),此數(shù)據(jù)類型很有用。例如,當(dāng)你按郵政編碼加4個(gè)字符格式來存儲(chǔ)數(shù)據(jù)時(shí),你知道總要用到10個(gè)字符。此數(shù)據(jù)類型的列寬最大為8000 個(gè)字符
|
varchar
|
字符型
|
varchar數(shù)據(jù)類型,同char類型一樣,用來存儲(chǔ)非統(tǒng)一編碼型字符數(shù)據(jù)。與char 型不一樣,此數(shù)據(jù)類型為變長(zhǎng)。當(dāng)定義一列為該數(shù)據(jù)類型時(shí),你要指定該列的最大長(zhǎng)度。 它與char數(shù)據(jù)類型最大的區(qū)別是,存儲(chǔ)的長(zhǎng)度不是列長(zhǎng),而是數(shù)據(jù)的長(zhǎng)度
|
text
|
字符型
|
text 數(shù)據(jù)類型用來存儲(chǔ)大量的非統(tǒng)一編碼型字符數(shù)據(jù)。這種數(shù)據(jù)類型最多可以有231-1或20億個(gè)字符
|
nchar
|
統(tǒng)一編碼字符型
|
nchar 數(shù)據(jù)類型用來存儲(chǔ)定長(zhǎng)統(tǒng)一編碼字符型數(shù)據(jù)。統(tǒng)一編碼用雙字節(jié)結(jié)構(gòu)來存儲(chǔ)每個(gè)字符,而不是用單字節(jié)(普通文本中的情況)。它允許大量的擴(kuò)展字符。此數(shù)據(jù)類型能存儲(chǔ)4000種字符,使用的字節(jié)空間上增加了一倍
|
nvarchar
|
統(tǒng)一編碼字符型
|
nvarchar 數(shù)據(jù)類型用作變長(zhǎng)的統(tǒng)一編碼字符型數(shù)據(jù)。此數(shù)據(jù)類型能存儲(chǔ)4000種字符,使用的字節(jié)空間增加了一倍
|
ntext
|
統(tǒng)一編碼字符型
|
ntext 數(shù)據(jù)類型用來存儲(chǔ)大量的統(tǒng)一編碼字符型數(shù)據(jù)。這種數(shù)據(jù)類型能存儲(chǔ)230 -1或?qū)⒔?span lang="EN-US">10億個(gè)字符,且使用的字節(jié)空間增加了一倍
|
binary
|
二進(jìn)制數(shù)據(jù)類型
|
binary數(shù)據(jù)類型用來存儲(chǔ)可達(dá)8000 字節(jié)長(zhǎng)的定長(zhǎng)的二進(jìn)制數(shù)據(jù)。當(dāng)輸入表的內(nèi)容接近相同的長(zhǎng)度時(shí),你應(yīng)該使用這種數(shù)據(jù)類型
|
varbinary
|
二進(jìn)制數(shù)據(jù)類型
|
varbinary 數(shù)據(jù)類型用來存儲(chǔ)可達(dá)8000 字節(jié)長(zhǎng)的變長(zhǎng)的二進(jìn)制數(shù)據(jù)。當(dāng)輸入表的內(nèi)容大小可變時(shí),你應(yīng)該使用這種數(shù)據(jù)類型
|
image
|
二進(jìn)制數(shù)據(jù)類型
|
image 數(shù)據(jù)類型用來存儲(chǔ)變長(zhǎng)的二進(jìn)制數(shù)據(jù),最大可達(dá)231-1或大約20億字節(jié)
|
Mysql
類型
|
說明
|
TINYINT
|
非常小的整數(shù)
|
SMALLINT
|
較小整數(shù)
|
MEDIUMINT
|
中等大小整數(shù)
|
INT
|
標(biāo)準(zhǔn)整數(shù)
|
BIGINT
|
較大整數(shù)
|
FLOAT
|
單精度浮點(diǎn)數(shù)
|
DOUBLE
|
雙精度浮點(diǎn)數(shù)
|
DECIMAL
|
一個(gè)串的浮點(diǎn)數(shù)
|
類型說明
|
取值范圍
|
TINYINT[(M)]
|
有符號(hào)值:-128 到127(- 27 到27 - 1)
無符號(hào)值:0到255(0 到28 - 1)
|
SMALLINT[(M)]
|
有符號(hào)值:-32768 到32767(- 215 到215 - 1)
無符號(hào)值:0到65535(0 到21 6 - 1)
|
MEDIUMINT[(M)]
|
有符號(hào)值:-8388608 到8388607(- 22 3 到22 3 - 1 )
無符號(hào)值:0到16777215(0 到22 4 - 1)
|
INT[(M)]
|
有符號(hào)值:-2147683648 到2147683647(- 231 到231- 1)
無符號(hào)值:0到4294967295(0 到232 - 1)
|
BIGINT[(M)]
|
有符號(hào)值:-9223372036854775808 到9223373036854775807(- 263到263-1)
無符號(hào)值:0到18446744073709551615(0到264 – 1)
|
FLOAT[(M, D)]
|
最小非零值:±1.175494351E - 38
|
DOUBLE[(M,D)]
|
最小非零值:±2.2250738585072014E - 308
|
DECIMAL (M, D)
|
可變;其值的范圍依賴于M 和D
|
類型說明
|
存儲(chǔ)需求
|
TINYINT[(M)]
|
1字節(jié)
|
SMALLINT[(M)]
|
2字節(jié)
|
MEDIUMINT[(M)]
|
3字節(jié)
|
INT[(M)]
|
4字節(jié)
|
BIGINT[(M)]
|
8字節(jié)
|
FLOAT[(M, D)]
|
4字節(jié)
|
DOUBLE[(M, D)]
|
8字節(jié)
|
DECIMAL (M, D)
|
M字節(jié)(MySQL < 3.23),M+2字節(jié)(MySQL > 3.23 )
|
數(shù)值類型
類型名
|
說明
|
CHAR
|
定長(zhǎng)字符串
|
VARCHAR
|
可變長(zhǎng)字符串
|
TINYBLOB
|
非常小的BLOB(二進(jìn)制大對(duì)象)
|
BLOB
|
小BLOB
|
MEDIUMBLOB
|
中等的BLOB
|
LONGBLOB
|
大BLOB
|
TINYTEXT
|
非常小的文本串
|
TEXT
|
小文本串
|
MEDIUMTEXT
|
中等文本串
|
LONGTEXT
|
大文本串
|
ENUM
|
枚舉;列可賦予某個(gè)枚舉成員
|
SET
|
集合;列可賦予多個(gè)集合成員
|
類型說明
|
最大尺寸
|
存儲(chǔ)需求
|
CHAR( M)
|
M 字節(jié)
|
M 字節(jié)
|
VARCHAR(M)
|
M 字節(jié)
|
L + 1字節(jié)
|
TINYBLOB, TINYTEXT
|
28- 1字節(jié)
|
L + 1字節(jié)
|
BLOB, TEXT
|
216 - 1 字節(jié)
|
L + 2字節(jié)
|
MEDIUMBLOB, MEDIUMTEXT
|
224- 1字節(jié)
|
L + 3字節(jié)
|
LONGBLOB, LONGTEXT
|
232- 1字節(jié)
|
L + 4字節(jié)
|
ENUM(“value1”, “value2”, ...)
|
65535 個(gè)成員
|
1 或2字節(jié)
|
SET (“value1”, “value2”, ...)
|
64個(gè)成員
|
1、2、3、4 或8字節(jié)
|
字符串類型
類型名
|
說明
|
DATE
|
“YYYY-MM-DD”格式表示的日期值
|
TIME
|
“hh:mm:ss”格式表示的時(shí)間值
|
DATETIME
|
“YYYY-MM-DD hh:mm:ss”格式
|
TIMESTAMP
|
“YYYYMMDDhhmmss”格式表示的時(shí)間戳值
|
YEAR
|
“YYYY”格式的年份值
|
類型名
|
取值范圍
|
存儲(chǔ)需求
|
DATE
|
“1000-01-01”到“9999-12-31”
|
3字節(jié)
|
TIME
|
“-838:59:59”到“838:59:59”
|
3字節(jié)
|
DATETIME
|
“1000-01-01 00:00:00” 到“9999-12-31 23:59:59”
|
8字節(jié)
|
TIMESTAMP
|
19700101000000 到2037 年的某個(gè)時(shí)刻
|
4字節(jié)
|
YEAR
|
1901 到2155
|
1字節(jié)
|
日期類型