oralce, DB2 , sql server , mysql各數(shù)據(jù)庫字段總結(jié)
Oralce
字段 |
注意事項(xiàng) |
Date |
|
Varchar2(n) |
N<=4000 |
Long |
N<= |
Row & long row |
N<=255 |
Blob |
N<= |
Clob |
N<= |
Nclob |
N<= |
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ù)字長,占用20 byte的空間。具體的對(duì)應(yīng)關(guān)系請參照上表。
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è)字段??梢杂?/span>OPERATION NAVIGATOR查看它的內(nèi)容。
Character type
DB2/400的CHAR、VARCHAR類型與ORACLE中的VARCHAR2(n)類型相對(duì)應(yīng),但是ORACLE中的VARCHAR2(n)類型僅用于存放較小的字符串,這里的n小于4000,因此在這種情況下,最好用定長的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,代表簡體中文。
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ǔ)從 |
Smalldatetime |
日期時(shí)間型 |
smalldatetime 數(shù)據(jù)類型用來表示從 |
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ǔ)指定長度的定長非統(tǒng)一編碼型的數(shù)據(jù)。當(dāng)定義一列為此類型時(shí),你必須指定列長。當(dāng)你總能知道要存儲(chǔ)的數(shù)據(jù)的長度時(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ù)類型為變長。當(dāng)定義一列為該數(shù)據(jù)類型時(shí),你要指定該列的最大長度。 它與char數(shù)據(jù)類型最大的區(qū)別是,存儲(chǔ)的長度不是列長,而是數(shù)據(jù)的長度 |
text |
字符型 |
text 數(shù)據(jù)類型用來存儲(chǔ)大量的非統(tǒng)一編碼型字符數(shù)據(jù)。這種數(shù)據(jù)類型最多可以有231-1或20億個(gè)字符 |
nchar |
統(tǒng)一編碼字符型 |
nchar 數(shù)據(jù)類型用來存儲(chǔ)定長統(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ù)類型用作變長的統(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é)長的定長的二進(jìn)制數(shù)據(jù)。當(dāng)輸入表的內(nèi)容接近相同的長度時(shí),你應(yīng)該使用這種數(shù)據(jù)類型 |
varbinary |
二進(jìn)制數(shù)據(jù)類型 |
varbinary 數(shù)據(jù)類型用來存儲(chǔ)可達(dá)8000 字節(jié)長的變長的二進(jìn)制數(shù)據(jù)。當(dāng)輸入表的內(nèi)容大小可變時(shí),你應(yīng)該使用這種數(shù)據(jù)類型 |
image |
二進(jìn)制數(shù)據(jù)類型 |
image 數(shù)據(jù)類型用來存儲(chǔ)變長的二進(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) |
SMALLINT[(M)] |
有符號(hào)值:-32768 到32767(- 215 到215 - 1) |
MEDIUMINT[(M)] |
有符號(hào)值:-8388608 到8388607(- 22 3 到22 3 - 1 ) |
INT[(M)] |
有符號(hào)值:-2147683648 到2147683647(- 231 到231- 1) |
BIGINT[(M)] |
有符號(hào)值:-9223372036854775808 到9223373036854775807(- 263到263-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 |
定長字符串 |
VARCHAR |
可變長字符串 |
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(“value |
65535 個(gè)成員 |
1 或2字節(jié) |
SET (“value |
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 |
“ |
3字節(jié) |
TIME |
“-838:59: |
3字節(jié) |
DATETIME |
“1000-01-01 00:00: |
8字節(jié) |
TIMESTAMP |
19700101000000 到2037 年的某個(gè)時(shí)刻 |
4字節(jié) |
YEAR |
1901 到2155 |
1字節(jié) |
日期類型
posted on 2008-10-18 13:58 duduli 閱讀(1944) 評(píng)論(0) 編輯 收藏 所屬分類: 數(shù)據(jù)庫