主流數據庫字段類型總結

SYBASE的字段類型
字段類型 描述 字段長度及其缺省值
char(size) 用於保存定長(size)字節的字符串數據。
每行定長(不足部分補爲空格);最大長度爲255字節,缺省值爲每行1字節。
varchar(size) 用於保存變長的字符串數據。其中最大字節長度由(size)指定。 每行長度可變,最大長度爲255字節。數據長度缺省爲1
nchar(size) 多字節字符串。
  每行定長(不足部分補爲空格)。 長度(size)是指字符的個數,最大字節數爲size*a@@nchar size。
nvarchar(size) 可變長,多字節字符串。 每行變長。長度(size)是指字符的個數,最大字節數爲size*a@@nchar size。
binary(size) 固定長度的二進制字符串。 每行定長(不足部分補爲空格);最大長度爲255字節,缺省值爲每行1字節。
varbinary(size) 可變長度的長度的二進制字符串。 每行長度可變,最大長度爲255字節。數據長度缺省爲1
timestamp 用於改變管理的二進制值。 字節數爲16
datetime 保存定長的日期時間數據,範圍爲1753年1月1日到公元9999年12月21日,精度爲3微秒間隔。 每行固定爲8字節長度。
smalldatetime 保存定長的日期時間數據,範圍爲1990年1月1日到公元2079年6月6日,精度爲分鐘間隔。 每行固定爲4字節長度。
int 保存整型數據,範圍爲-2147483647到+2147483647。 最大長度爲4字節32 - 1字節或4G。
smallint 保存整型數據,範圍爲-32767到+32767 最大長度爲2字節32 - 1字節或4G。
tinyint 保存整型數據,範圍爲0到255。 最大長度爲1字節。
float 保存浮點數據類型,範圍爲-2.23E-308到+2.23E-308。 最大長度爲8字節。
real 保存浮點數據類型,範圍爲-1.18E-38到+1.18E-38。 最大長度爲4字節。
numeric(p,s) 保存精確數值數據類型,範圍爲-10E-38到+10E-38,p是精度,總小數位數(1~38),s是小數位(小數位小於等於p) 最大長度爲2~17字節。
decimal(p,s) 保存精確數值數據類型,範圍爲-10E-38到+10E-38,p是精度,總小數位數(1~38),s是小數位(小數位小於等於p) 最大長度爲2~17字節。
money 保存貨幣值數據類型,範圍爲-922337203685477.5808到+922337203685477.5808 最大長度爲8字節。
smallmoney 保存貨幣值數據類型,範圍爲-214748.3647到+214748.3647 最大長度爲4字節。
text 保存大於255字節的欄或大於2KB頁長度的文本數據。 最大長度爲2G。
image 保存大於255字節的欄或大於2KB頁長度的二進制數據。 最大長度爲2G。


SQL SERVER的數據類型
  數據類型是數據的一種屬性,表示數據所表示信息的類型。任何一種計算機語言都定義了自己的數據類型。當然,不同的程序語言都具有不同的特點,所定義的數據類型的各類和名稱都或多或少有些不同。SQLServer 提供了 25 種數據類型:
  •Binary [(n)]
  •Varbinary [(n)]
  •Char [(n)]
  •Varchar[(n)]
  •Nchar[(n)]
  •Nvarchar[(n)]
  •Datetime
  •Smalldatetime
  •Decimal[(p[,s])]
  •Numeric[(p[,s])]
  •Float[(n)]
  •Real
  •Int
  •Smallint
  •Tinyint
  •Money
  •Smallmoney
  •Bit
  •Cursor
  •Sysname
  •Timestamp
  •Uniqueidentifier
  •Text
  •Image
  •Ntext
(1)二進制數據類型
  二進制數據包括 Binary、Varbinary 和 Image
  Binary 數據類型既可以是固定長度的(Binary),也可以是變長度的。
  Binary[(n)] 是 n 位固定的二進制數據。其中,n 的取值範圍是從 1 到 8000。其存儲窨的大小是 n + 4 個字節。
  Varbinary[(n)] 是 n 位變長度的二進制數據。其中,n 的取值範圍是從 1 到 8000。其存儲窨的大小是 n + 4個字節,不是n 個字節。
  在 Image 數據類型中存儲的數據是以位字符串存儲的,不是由 SQL Server 解釋的,必須由應用程序來解釋。例如,應用程序可以使用BMP、TIEF、GIF 和 JPEG 格式把數據存儲在 Image 數據類型中。
(2)字符數據類型
  字符數據的類型包括 Char,Varchar 和 Text
  字符數據是由任何字母、符號和數字任意組合而成的數據。
   Varchar 是變長字符數據,其長度不超過 8KB。Char 是定長字符數據,其長度最多爲 8KB。超過 8KB 的ASCII 數據可以使用 Text數據類型存儲。例如,因爲 Html 文檔全部都是 ASCII 字符,並且在一般情況下長度超過 8KB,所以這些文檔可以 Text 數據類 型存儲在SQL Server 中。
(3)Unicode 數據類型
  Unicode 數據類型包括 Nchar,Nvarchar 和Ntext
  在 Microsoft SQL Server 中, 傳統的非 Unicode 數據類型允許使用由特定字符集定義的字符。在 SQL Server安裝過程中,允許選擇一種字符集。使用 Unicode 數據類型,列中可以存儲任何由Unicode 標準定義的字符。在 Unicode 標準中,包括了以各種字符集定義的全部字符。使用Unicode數據 類型,所戰勝的窨是使用非 Unicode 數據類型所佔用的窨大小的兩倍。
  在 SQL Server 中,Unicode 數據以 Nchar、Nvarchar 和 Ntext 數據類型存儲。使用這種字符類型存儲的列可以存儲多個字符集中的字符。當列的長度變化時,應該使用 Nvarchar 字符類型,這時最多可以存儲 4000 個字符。當列的長度固定不變時,應該使用 Nchar 字符類型,同樣,這時最多可以存儲 4000 個字符。當使用 Ntext 數據類型時,該列可以存儲多於 4000 個字符。
(4)日期和時間數據類型
  日期和時間數據類型包括 Datetime 和 Smalldatetime兩種類型
  日期和時間數據類型由有效的日期和時間組成。 例如,有效的日期和時間數據包括“4/01/98 12:15:00:00:00 PM”和“1:28:29:15:01AM 8/17/98”。前一個 數據類型是日期在前,時間在後一個數據類型是霎時間在前,日期在後。在 Microsoft SQL Server中,日期和時間數據類型包括 Datetime 和 Smalldatetime 兩種類型時,所存儲的日期範圍是從 1753 年 1 月 1 日開始,到9999 年12 月 31 日結束(每一個值要求 8 個存儲字節)。使用 Smalldatetime 數據類型時,所存儲的日期範圍是 1900年 1 月 1日 開 始,到 2079 年 12 月 31 日結束(每一個值要求 4 個存儲字節)。
  日期的格式可以設定。設置日期格式的命令如下:
  Set DateFormat {format | @format _var|
  其中,format | @format_var 是日期的順序。有效的參數包括 MDY、DMY、YMD、YDM、MYD 和 DYM。在默認情況下,日期格式爲MDY。
  例如,當執行 Set DateFormat YMD 之後,日期的格式爲年 月 日 形式;當執行 Set DateFormat DMY 之後,日期的格式爲日 月有年 形式
(5)數字數據類型
  數字數據只包含數字。數字數據類型包括正數和負數、小數(浮點數)和整數
  整數由正整數和負整數組成,例如 39、25、0-2 和 33967。在 Micrsoft SQL Server 中,整數存儲的數據類型是    Int,Smallint和 Tinyint。Int 數 據類型存儲數據的範圍大於 Smallint 數據類型存儲數據的範圍,而 Smallint 據類型存儲數據的範圍大於Tinyint 數據類型存儲數 據的範圍。使用 Int 數據狗昔存儲數據的範圍是從 -2 147 483 648 到 2 147 483 647(每一個值要求4個字節存儲空 間)。使用 Smallint 數據類型時,存儲數據的範圍從 -32 768 到 32 767(每一個值要求2個字節存儲空間)。使用 Tinyint 數據類型時,存儲數據的範圍是從0 到255(每一個值要求1個字節存儲空間)。
  精確小婁數據在 SQL Server 中的數據類型是 Decimal 和 Numeric。這種數據所佔的存儲空間根據該數據的位數後的位數來確定。
  在SQL Server 中,近似小數數據的數據類型是 Float 和 Real。例如,三分之一這個分數記作。3333333,當使用近似數據類型時能準確表示。因此,從系統中檢索到的數據可能與存儲在該列中數據不完全一樣。
(6)貨幣數據表示正的或者負的貨幣數量 。
  在 Microsoft SQL Server 中,貨幣數據的數據類型是Money 和 Smallmoney
  Money數據類型要求 8 個存儲字節,Smallmoney 數據類型要求 4 個存儲字節。
(7)特殊數據類型
  特殊數據類型包括前面沒有提過的數據類型。特殊的數據類型有3種,即    Timestamp、Bit 和 Uniqueidentifier。
  Timestamp 用於表示SQL Server 活動的先後順序,以二進投影的格式表示。Timestamp 數據與插入數據或者日期和時間沒有關係。
  Bit 由 1 或者 0 組成。當表示真或者假、ON 或者 OFF 時,使用 Bit 數據類型。例如,詢問是否是每一次訪問的客戶機請求可以存儲在這種數據類型的列中。
  Uniqueidentifier 由 16 字節的十六進制數字組成,表示一個全局唯一的。當表的記錄行要求唯一時,GUID是非常有用。例如,在客戶標識號列使用這種數據類型可以區別不同的客戶。
2.用戶定義的數據類型
  用戶定義的數據類型基於在 Microsoft SQL Server 中提供的數據類型。當幾個表中必須存儲同一種數據類型時,並且爲保證這 些列有相同的數據類型、長度和可空性時,可以使用用戶定義的數據類型。例如,可定義一種稱爲   postal_code 的數據類型,它基於 Char 數據類型。
  當創建用戶定義的數據類型時,必須提供三個數:數據類型的名稱、所基於的系統數據類型和數據類型的可空性。
(1)創建用戶定義的數據類型
  創建用戶定義的數據類型可以使用 Transact-SQL 語句。系統存儲過程 sp_addtype 可以來創建用戶定義的數據類型。其語法形式如下:
  sp_addtype {type},[,system_data_bype][,'null_type']
   其中,type 是用戶定義的數據類型的名稱。system_data_type 是系統提供的數據類型,例如 Decimal、Int、Char    等等。 null_type 表示該數據類型是如何處理空值的,必須使用單引號引起來,例如'NULL'、'NOT NULL'或者'NONULL'。
  例子:
  Use cust
  Exec sp_addtype ssn,'Varchar(11)',"Not Null'
  創建一個用戶定義的數據類型 ssn,其基於的系統數據類型是變長爲11 的字符,不允許空。
  例子:
  Use cust
  Exec sp_addtype birthday,datetime,'Null'
  創建一個用戶定義的數據類型 birthday,其基於的系統數據類型是 DateTime,允許空。
  例子:
  Use master
  Exec sp_addtype telephone,'varchar(24),'Not Null'
  Eexc sp_addtype fax,'varchar(24)','Null'
  創建兩個數據類型,即 telephone 和 fax
(2)刪除用戶定義的數據類型
  當用戶定義的數據類型不需要時,可刪除。刪除用戶定義的數據類型的命令是 sp_droptype {'type'}。
  例子:
  Use master
  Exec sp_droptype 'ssn'
  注意:當表中的列還正在使用用戶定義的數據類型時,或者在其上面還綁定有默認或者規則時,這種用戶定義的數據類型不能刪除。
SQL SERVER的字段類型說明
以下爲SQL SERVER7.0以上版本的字段類型說明。SQL SERVER6.5的字段類型說明請參考SQL SERVER提供的說明。
字段類型 描述
bit 0或1的整型數字
int 從-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型數字
smallint 從-2^15(-32,768)到2^15(32,767)的整型數字
tinyint 從0到255的整型數字

decimal 從-10^38到10^38-1的定精度與有效位數的數字
numeric decimal的同義詞

money 從-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的貨幣數據,最小貨幣單位千分之十
smallmoney 從-214,748.3648到214,748.3647的貨幣數據,最小貨幣單位千分之十

float 從-1.79E+308到1.79E+308可變精度的數字
real 從-3.04E+38到3.04E+38可變精度的數字

datetime 從1753年1月1日到9999年12日31的日期和時間數據,最小時間單位爲百分之三秒或3.33毫秒
smalldatetime 從1900年1月1日到2079年6月6日的日期和時間數據,最小時間單位爲分鐘

timestamp 時間戳,一個數據庫寬度的唯一數字
uniqueidentifier 全球唯一標識符GUID

char 定長非Unicode的字符型數據,最大長度爲8000
varchar 變長非Unicode的字符型數據,最大長度爲8000
text 變長非Unicode的字符型數據,最大長度爲2^31-1(2G)

nchar 定長Unicode的字符型數據,最大長度爲8000
nvarchar 變長Unicode的字符型數據,最大長度爲8000
ntext 變長Unicode的字符型數據,最大長度爲2^31-1(2G)

binary 定長二進制數據,最大長度爲8000
varbinary 變長二進制數據,最大長度爲8000
image 變長二進制數據,最大長度爲2^31-1(2G)


DB2的字段類型

字段類型 描述 字段長度及其缺省值
char(size) 用於保存定長(size)字節的字符串數據。
每行定長(不足部分補爲空格);最大長度爲254字節,缺省值爲每行1字節。
varchar(size) 用於保存變長的字符串數據。其中最大字節長度由(size)指定。 每行長度可變,最大長度爲4000字節。數據長度缺省爲1
long varchar 用於保存變長的字符串數據。 每行長度可變,最大長度爲4321700字節。
graphics(size) 雙字節字符串。
  每行定長(不足部分補爲空格)。 長度(size)是指字符的個數,最大字節數爲size*2。
vargraphics(size) 可變長,雙字節字符串。 每行變長。長度(size)是指字符的個數,最大字節數爲size*2。
long vargraphic 雙字節字符串。 最大長度爲16350雙字節字符串。
timestamp 用於改變管理的二進制值數據,包括年月日時分秒毫秒。 字節數爲26
date 保存定長的日期數據,範圍爲0000年到9999。 每行固定爲10字節長度。
time 保存定長的時間數據。 每行固定爲8字節長度。
int 保存整型數據,範圍爲-2147483648到+2147483647。 最大長度爲4字節32 - 1字節或4G。
smallint 保存整型數據,範圍爲-32768到+32767 最大長度爲2字節32 - 1字節或4G。
double 保存浮點數據類型,範圍爲-2.23E-308到+2.23E-308。 最大長度爲8字節。
float 保存浮點數據類型,範圍爲-2.23E-308到+2.23E-308。 最大長度爲8字節。
numeric(p,s) 保存精確數值數據類型,範圍爲-10E-38到+10E-38,p是精度,總小數位數(1~38),s是小數位(小數位小於等於p) 最大長度爲2~17字節。
decimal(p,s) 保存精確數值數據類型,範圍爲-10E-38到+10E-38,p是精度,總小數位數(1~38),s是小數位(小數位小於等於p) 最大長度爲2~17字節。
text 保存2GB長度以內的文本數據。 最大長度爲2G。
text 保存1GB長度以內的雙字節文本數據。 最大長度爲1G字符。
blob 保存2GB長度以內的二進制數據。 最大長度爲2G。


0RACLE的字段類型

字段類型 描述 字段長度及其缺省值
CHAR (size) 用於保存定長(size)字節的字符串數據。
每行定長(不足部分補爲空格);最大長度爲每行2000字節,缺省值爲每行1字節。設置長度(size)前需考慮字符集爲單字節或多字節。
VARCHAR2 (size) 用於保存變長的字符串數據。其中最大字節長度由(size)指定。 每行長度可變,最大長度爲每行4000字節。設置長度(size)前需考慮字符集爲單字節或多字節。
NCHAR(size) 由字符集決定保存的是定長(size)的字符或字節。
  每行定長(不足部分補爲空格)。 對固定寬度的字符集來說,長度(size)是指字符的個數,對變寬的字符集來說,長度(size)是指字節的個數。最大長度(size)取決於保存在一個 字符中的字節的長度,每行的最大長度爲2000字節。由字符集決定缺省值爲1個字符或1個字節。
NVARCHAR2 (size) 由字符集決定保存變長的字符或字節。其中最大長度由(size)指定。 每行變長。對固定寬度的字符集來說,長度(size)是指字符的個數,對變寬的字符集來說,長度(size)是指字節的個數。最大長度(size)取決於保存在一個字符中的字節的長度,每行的最大長度爲4000字節。由字符集決定缺省值爲1個字符或1個字節。
LONG 保存變長的字符串數據。 在表中每行的長度可變,最大長度爲每行231 - 1字節或2G。
NUMBER (p, s) 保存變長的數字。其中精度的最大值爲p,和/或有效的數字位數s的最大值38。 每行變長。每行的最大長度爲21字節。
DATE 保存定長的日期或時間數據,範圍爲公元前4712/01/01到公元9999/12/31。 每行固定爲7字節長度,缺省值的日期描述(例如DD-MON-YY)由NLS_DATE_FORMAT參數設置。
RAW (size) 保存變長的二進制數據。最大長度由size指定。 在表中每行的長度可變,最大長度爲每行2000字節。
LONG RAW 保存變長的二進制數據。 在表中每行的長度可變,最大長度爲每行231 - 1字節或2G。
BLOB 保存二進制數據。 最大長度爲232 - 1字節或4G。
CLOB 保存單字節字符數據。 最大長度爲232 - 1字節或4G。
NCLOB 保存由字符集指定的單字節或固定寬度多字節或變寬多字節的字符數據。 最大長度爲232 - 1字節或4G。
BFILE 保存在外部文件的二進制數據。 最大長度爲232 - 1字節或4G。


informix的字段類型

字段類型 描述 字段長度及其缺省值
char(size) 用於保存定長(size)字節的字符串數據。
每行定長(不足部分補爲空格);最大長度爲254字節,缺省值爲每行1字節。
varchar(size) 用於保存變長的字符串數據。其中最大字節長度由(size)指定。 每行長度可變,最大長度爲254字節。數據長度缺省爲1
serial 自動增長類型。 按Integer型存儲。
nchar(size)
雙字節字符串。
  每行定長(不足部分補爲空格)。 長度(size)是指字符的個數,最大字節數爲254*2。
nvarchar(size) 可變長,雙字節字符串。 每行變長。長度(size)是指字符的個數,最大字節數爲size*2。
real 保存浮點數據類型,範圍爲-2.23E-308到+2.23E-308。 最大長度爲8字節。
interval 用於指定一個時間跨度。 (5-3)year to month、(11:15)hour to minute。
date 日期型。 每行固定爲10字節長度。
datetime 日期時間型。 每行固定爲8字節長度。
integer 保存整型數據,範圍爲-2147483648到+2147483647。 最大長度爲4字節32 - 1字節或4G。
smallint 保存整型數據,範圍爲-32768到+32767 最大長度爲2字節32 - 1字節或4G。
float 保存浮點數據類型,範圍爲-2.23E-308到+2.23E-308。 最大長度爲8字節。
smallfloat 保存浮點數據類型,範圍爲-2.23E-308到+2.23E-308。 最大長度爲8字節。
money(p,s) 保存精確數值數據類型,範圍爲-10E-38到+10E-38,p是精度,總小數位數(1~38),s是小數位(小數位小於等於p) 最大長度爲2~17字節。
decimal(p,s) 保存精確數值數據類型,範圍爲-10E-38到+10E-38,p是精度,總小數位數(1~38),s是小數位(小數位小於等於p) 最大長度爲2~17字節。
text 保存2GB長度以內的文本數據。 最大長度爲2G。
byte 保存2GB長度以內的二進制數據。 最大長度爲2G。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章