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