SQL Server數(shù)據(jù)類型的種類與應(yīng)用
以下的文章主要描述的是SQL Server數(shù)據(jù)類型,其中包括二進(jìn)制數(shù)據(jù)類型,邏輯數(shù)據(jù)類型,以及字符數(shù)據(jù)類型,這些SQL Server數(shù)據(jù)類型的介紹,望大家在瀏覽之后會(huì)對(duì)其有更深的了解。
二進(jìn)制數(shù)據(jù)類型
1、BINARY
BINARY 數(shù)據(jù)類型用于存儲(chǔ)二進(jìn)制數(shù)據(jù)。其定義形式為BINARY( n), n 表示數(shù)據(jù)的長度,取值為1 到8000 。在使用時(shí)必須指定BINARY 類型數(shù)據(jù)的大小,至少應(yīng)為1 個(gè)字節(jié)。BINARY 類型數(shù)據(jù)占用n+4 個(gè)字節(jié)的存儲(chǔ)空間。在輸入數(shù)據(jù)時(shí)必須在數(shù)據(jù)前加上字符“0X” 作為二進(jìn)制標(biāo)識(shí),如:要輸入“abc ”則應(yīng)輸入“0xabc ”。若輸入的數(shù)據(jù)過長將會(huì)截掉其超出部分。若輸入的數(shù)據(jù)位數(shù)為奇數(shù),則會(huì)在起始符號(hào)“0X ”后添加一個(gè)0,如上述的“0xabc ”會(huì)被系統(tǒng)自動(dòng)變?yōu)?ldquo;0x0abc”。
2、VARBINARY
VARBINARY 數(shù)據(jù)類型的定義形式為VARBINARY(n)。 它與BINARY 類型相似,n 的取值也為1 到8000,若輸入的數(shù)據(jù)過長,將會(huì)截掉其超出部分。不同的是VARBINARY數(shù)據(jù)類型具有變動(dòng)長度的特性, 因?yàn)閂ARBINARY數(shù)據(jù)類型的存儲(chǔ)長度 為實(shí)際數(shù)值長度+4個(gè)字節(jié)。當(dāng)BINARY數(shù)據(jù)類型允許NULL 值時(shí),將被視為VARBINARY數(shù)據(jù)類型。
一般情況下,由于BINARY 數(shù)據(jù)類型長度固定,因此它比VARBINARY 類型的處理速度快。
邏輯數(shù)據(jù)類型
BIT: BIT數(shù)據(jù)類型占用1 個(gè)字節(jié)的存儲(chǔ)空間,其值為0 或1 。如果輸入0 或1 以外的值,將被視為1。 BIT 類型不能定義為NULL 值(所謂NULL 值是指空值或無意義的值)。
字符數(shù)據(jù)類型
字符數(shù)據(jù)類型是使用最多的SQL Server數(shù)據(jù)類型。它可以用來存儲(chǔ)各種字母、數(shù)字符號(hào)、特殊符號(hào)。一般情況下,使用字符類型 數(shù)據(jù)時(shí)須在其前后加上單引號(hào)’或雙引號(hào)” 。
1 CHAR
CHAR 數(shù)據(jù)類型的定義形式為CHAR[ (n) 。 以CHAR 類型存儲(chǔ)的每個(gè)字符和符號(hào)占一個(gè)字節(jié)的存儲(chǔ)空間。n 表示所有字符所占的存儲(chǔ)空間,n 的取值為1 到8000, 即可容納8000 個(gè)ANSI 字符。若不指定n 值,則系統(tǒng)默認(rèn)值為1。若輸入數(shù)據(jù)的字符數(shù)小于n,則系統(tǒng)自動(dòng)在其后添加空格來填滿設(shè)定好的空間。若輸入的數(shù) 據(jù)過長,將會(huì)截掉其超出部分。
2、NCHAR
NCHAR 數(shù)據(jù)類型的定義形式為NCHAR[ (n)]。 它與CHAR 類型相似。不同的是NCHAR數(shù)據(jù)類型n 的取值為1 到4000。 因?yàn)镹CHAR 類型采用UNICODE 標(biāo)準(zhǔn)字符集(CharacterSet)。 UNICODE 標(biāo)準(zhǔn)規(guī)定每個(gè)字符占用兩個(gè)字節(jié)的存儲(chǔ)空間,所以它比非UNICODE 標(biāo)準(zhǔn)的SQL Server數(shù)據(jù)類型多占用一倍的存儲(chǔ)空間。使用UNICODE 標(biāo)準(zhǔn)的好處是因其使用兩個(gè)字節(jié)做存儲(chǔ)單位,其一個(gè)存儲(chǔ)單位的容納量就大大增加了,可以將全世界的語言文字都囊 括在內(nèi),在一個(gè)數(shù)據(jù)列中就可以同時(shí)出現(xiàn)中文、 英文、法文、德文等,而不會(huì)出現(xiàn)編碼沖突。
3、VARCHAR
VARCHAR數(shù)據(jù)類型的定義形式為VARCHARn)。 它與CHAR 類型相似,n 的取值也為1 到8000,若輸入的數(shù)據(jù)過長,將會(huì)截掉其超出部分。不同的是,VARCHAR數(shù)據(jù)類型具有變動(dòng)長度的特性, 因?yàn)閂ARCHAR數(shù)據(jù)類型的存儲(chǔ)長度為實(shí)際 數(shù)值長度,若輸入數(shù)據(jù)的字符數(shù)小于n ,則系統(tǒng)不會(huì)在其后添加空格來填滿設(shè)定好的空間。
一般情況下,由于SQL Server數(shù)據(jù)類型長度固定,因此它比VARCHAR 類型的處理速度快。
4、NVARCHAR
NVARCHAR數(shù)據(jù)類型的定義形式為NVARCHAR[ (n) ]。 它與VARCHAR 類型相似。不同的是,NVARCHAR數(shù)據(jù)類型采用UNICODE 標(biāo)準(zhǔn)字符集(Character Set), n 的取值為1 到4000。
【編輯推薦】