SQL數(shù)據(jù)庫(kù)的數(shù)據(jù)類型詳細(xì)解釋_第1頁(yè)
SQL數(shù)據(jù)庫(kù)的數(shù)據(jù)類型詳細(xì)解釋_第2頁(yè)
SQL數(shù)據(jù)庫(kù)的數(shù)據(jù)類型詳細(xì)解釋_第3頁(yè)
SQL數(shù)據(jù)庫(kù)的數(shù)據(jù)類型詳細(xì)解釋_第4頁(yè)
SQL數(shù)據(jù)庫(kù)的數(shù)據(jù)類型詳細(xì)解釋_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、SQL數(shù)據(jù)庫(kù)的數(shù)據(jù)類型詳細(xì)解釋(1) 二進(jìn)制數(shù)據(jù)類型二進(jìn)制數(shù)據(jù)包括 Bi nary、Varbi nary 和 ImageBinary數(shù)據(jù)類型既可以是固定長(zhǎng)度的(Binary),也可以是 變長(zhǎng)度的。Binary(n)是n位固定的二進(jìn)制數(shù)據(jù)。其中,n的取值范圍是從1到8000。其存儲(chǔ)窨的大小是n + 4 個(gè)字節(jié)。Varbinary(n) 是n位變長(zhǎng)度的二進(jìn)制數(shù)據(jù)。其中,n的 取值范圍是從1到8000。其存儲(chǔ)窨的大小是n + 4個(gè)字節(jié),不是n 個(gè)字節(jié)。在Image數(shù)據(jù)類型中存儲(chǔ)的數(shù)據(jù)是以位字符串存儲(chǔ)的,不 是由SQL Server解釋的,必須由應(yīng)用程序來(lái)解釋。例如,應(yīng)用程序 可以使用BMP TIEF

2、、GIF和JPEG格式把數(shù)據(jù)存儲(chǔ)在Image數(shù)據(jù) 類型中。(2) 字符數(shù)據(jù)類型字符數(shù)據(jù)的類型包括 Char,Varchar和Text字符數(shù)據(jù)是由任何字母、符號(hào)和數(shù)字任意組合而成的數(shù)據(jù)。Varchar是變長(zhǎng)字符數(shù)據(jù),其長(zhǎng)度不超過(guò) 8KB。Char是定 長(zhǎng)字符數(shù)據(jù),其長(zhǎng)度最多為8KB。超過(guò)8KB的ASCII數(shù)據(jù)可以使用 Text數(shù)據(jù)類型存儲(chǔ)。例如,因?yàn)镠tml文檔全部都是ASCII字符, 并且在一般情況下長(zhǎng)度超過(guò)8KB,所以這些文檔可以Text數(shù)據(jù)類型a1存儲(chǔ)在SQL Server中U nicode數(shù)據(jù)類型Unicode 數(shù)據(jù)類型包括 Nchar,Nvarchar 和 Ntext在Microsof

3、t SQL Server中,傳統(tǒng)的非 Unicode 數(shù)據(jù)類型允許使用由特定字符集定義的字符。在 SQL Server安裝過(guò)程中, 允許選擇一種字符集。使用 Unicode數(shù)據(jù)類型,列中可以存儲(chǔ)任何 由Unicode標(biāo)準(zhǔn)定義的字符。在 Unicode標(biāo)準(zhǔn)中,包括了以各種字 符集定義的全部字符。使用Uni code數(shù)據(jù)類型,所戰(zhàn)勝的窨是使用非 Unicode數(shù)據(jù)類型所占用的窨大小的兩倍。在 SQL Server 中,Unicode 數(shù)據(jù)以 Nchar、Nvarchar 和Ntext數(shù)據(jù)類型存儲(chǔ)。使用這種字符類型存儲(chǔ)的列可以存儲(chǔ)多個(gè)字符 集中的字符。當(dāng)列的長(zhǎng)度變化時(shí),應(yīng)該使用Nvarchar字符類

4、型,這時(shí)最多可以存儲(chǔ)4000個(gè)字符。當(dāng)列的長(zhǎng)度固定不變時(shí),應(yīng)該使用 Nchar字符類型,同樣,這時(shí)最多可以存儲(chǔ) 4000個(gè)字符。當(dāng)使用 Ntext數(shù)據(jù)類型時(shí),該列可以存儲(chǔ)多于 4000個(gè)字符。(4) 日期和時(shí)間數(shù)據(jù)類型日期和時(shí)間數(shù)據(jù)類型包括 Datetime 和Smalldatetime 兩種類型日期和時(shí)間數(shù)據(jù)類型由有效的日期和時(shí)間組成。例如,有效的日期和時(shí)間數(shù)據(jù)包括“ 4/01/98 12:15:00:00:00 PM ”和“ 1:28:29:15:01AM 8/17/98 ”。前一個(gè)數(shù)據(jù)類型是日期在前,時(shí)間在 后一個(gè)數(shù)據(jù)類型是霎時(shí)間在前,日期在后。在Microsoft SQLServer中

5、,日期和時(shí)間數(shù)據(jù)類型包括 Datetime和Smalldatetime 兩種類 型時(shí),所存儲(chǔ)的日期范圍是從1753年1月1日開(kāi)始,到9999年 12月31日結(jié)束(每一個(gè)值要求8個(gè)存儲(chǔ)字節(jié))。使用Smalldatetime 數(shù)據(jù)類型時(shí),所存儲(chǔ)的日期范圍是 1900年1月1 日開(kāi)始,到2079年12月31日結(jié)束(每一個(gè)值要求4個(gè)存儲(chǔ)字 節(jié))。日期的格式可以設(shè)定。設(shè)置日期格式的命令如下:Set DateFormat format | format _var| 其中,format | format_var是日期的順序。有效的參數(shù)包括MDY DMY YMD YDM MYD和DYM 在默認(rèn)情況下,日期格式

6、 為MDY例如,當(dāng)執(zhí)行Set DateFormat YMD之后,日期的格式為年月 日 形式;當(dāng)執(zhí)行Set DateFormat DMY之后,日期的格式為日 月 有年形式(5)數(shù)字?jǐn)?shù)據(jù)類型數(shù)字?jǐn)?shù)據(jù)只包含數(shù)字。數(shù)字?jǐn)?shù)據(jù)類型包括正數(shù)和負(fù)數(shù)、小數(shù)(浮點(diǎn)數(shù))和整數(shù)整數(shù)由正整數(shù)和負(fù)整數(shù)組成,例如39、25、0-2和33967。在Micrsoft SQL Server 中,整數(shù)存儲(chǔ)的數(shù)據(jù)類型是Int ,Smallint和Tinyint 。Int數(shù)據(jù)類型存儲(chǔ)數(shù)據(jù)的范圍大于 Smallint數(shù)據(jù)類型存儲(chǔ)數(shù)據(jù)的范圍,而Smalli nt 據(jù)類型存儲(chǔ)數(shù)據(jù)的范圍大于 Tinyint數(shù)據(jù)類型存儲(chǔ)數(shù)據(jù)的范圍。使用Int數(shù)

7、據(jù)狗昔存儲(chǔ)數(shù)據(jù)的范圍是從-2 147 483 648 到2 147 483 647 (每一個(gè)值要求4個(gè)字儲(chǔ)空間)Numeric節(jié)存儲(chǔ)空間)。使用Smallint 數(shù)據(jù)類型時(shí),存儲(chǔ)數(shù)據(jù)的范圍從-32 768到32 767 (每一個(gè)值要求2個(gè)字節(jié)存儲(chǔ)空間)。使用Tinyint 數(shù) 據(jù)類型時(shí),存儲(chǔ)數(shù)據(jù)的范圍是從0到255 (每一個(gè)值要求1個(gè)字節(jié)存精確小婁數(shù)據(jù)在SQL Server中的數(shù)據(jù)類型是Decimal和這種數(shù)據(jù)所占的存儲(chǔ)空間根據(jù)該數(shù)據(jù)的位數(shù)后的位數(shù)來(lái)確在SQL Server中,近似小數(shù)數(shù)據(jù)的數(shù)據(jù)類型是 Float和Real。例如,三分之一這個(gè)分?jǐn)?shù)記作。3333333,當(dāng)使用近似數(shù)據(jù)類 型時(shí)能準(zhǔn)

8、確表示。因此,從系統(tǒng)中檢索到的數(shù)據(jù)可能與存儲(chǔ)在該列中 數(shù)據(jù)不完全一樣。(6) 貨幣數(shù)據(jù)表示正的或者負(fù)的貨幣數(shù)量。在Microsoft SQLServer中,貨幣數(shù)據(jù)的數(shù)據(jù)類型是 Money 禾口 Smallm oneyMoney數(shù)據(jù)類型要求8個(gè)存儲(chǔ)字節(jié),Smallmoney數(shù)據(jù)類型要求4個(gè)存儲(chǔ)字節(jié)。(7)特殊數(shù)據(jù)類型特殊數(shù)據(jù)類型包括前面沒(méi)有提過(guò)的數(shù)據(jù)類型。特殊的數(shù)據(jù)類型有 3 種,即 Timestamp、Bit 和 Uniqueidentifier。Timestamp用于表示SQLServer活動(dòng)的先后順序,以二進(jìn) 投影的格式表示。Timestamp數(shù)據(jù)與插入數(shù)據(jù)或者日期和時(shí)間沒(méi)有關(guān) 系。Bi

9、t由1或者0組成。當(dāng)表示真或者假、ON或者OFF時(shí), 使用Bit數(shù)據(jù)類型。例如,詢問(wèn)是否是每一次訪問(wèn)的客戶機(jī)請(qǐng)求可 以存儲(chǔ)在這種數(shù)據(jù)類型的列中。Uniqueidentifier由16字節(jié)的十六進(jìn)制數(shù)字組成,表示一個(gè)全局唯一的。當(dāng)表的記錄行要求唯一時(shí),GUID是非常有用。例如,在客戶標(biāo)識(shí)號(hào)列使用這種數(shù)據(jù)類型可以區(qū)別不同的客戶。2.用戶定義的數(shù)據(jù)類型用戶定義的數(shù)據(jù)類型基于在 Microsoft SQLServer中提供 的數(shù)據(jù)類型。當(dāng)幾個(gè)表中必須存儲(chǔ)同一種數(shù)據(jù)類型時(shí),并且為保證這些列有相同的數(shù)據(jù)類型、長(zhǎng)度和可空性時(shí),可以使用用戶定義的數(shù)據(jù) 類型。例如,可定義一種稱為postal_code的數(shù)據(jù)類型

10、,它基于Char數(shù)據(jù)類型。當(dāng)創(chuàng)建用戶定義的數(shù)據(jù)類型時(shí),必須提供三個(gè)數(shù):數(shù)據(jù)類型 的名稱、所基于的系統(tǒng)數(shù)據(jù)類型和數(shù)據(jù)類型的可空性。(1)創(chuàng)建用戶定義的數(shù)據(jù)類型創(chuàng)建用戶定義的數(shù)據(jù)類型可以使用 Transact-SQL語(yǔ)句。系 統(tǒng)存儲(chǔ)過(guò)程sp_addtype可以來(lái)創(chuàng)建用戶定義的數(shù)據(jù)類型。其語(yǔ)法形 式如下:sp_addtype type,system_data_bype,' null_type'其中,type是用戶定義的數(shù)據(jù)類型的名稱。system_data_type 是系統(tǒng)提供的數(shù)據(jù)類型,例如Decimal、nt > Char 等等。n ull_type表示該數(shù)據(jù)類型是如何處理

11、空值的,必須使用單弓I號(hào)弓I起來(lái),例女口 'NULL'、NOT NULL'或者'NONULL'。例子:Use custExec sp_addtype ssn,'Varchar(11)',"Not Null'創(chuàng)建一個(gè)用戶定義的數(shù)據(jù)類型ssn ,其基于的系統(tǒng)數(shù)據(jù)類型是變長(zhǎng)為11的字符,不允許空。例子:Use custExec sp_addtype birthday,datetime,'Null'創(chuàng)建一個(gè)用戶定義的數(shù)據(jù)類型 birthday ,其基于的系統(tǒng)數(shù) 據(jù)類型是DateTime,允許空。例子:Use ma

12、sterExec sp_addtype telepho ne,'varchar(24),'Not Null'Eexc sp_addtype fax,'varchar(24)','Null'創(chuàng)建兩個(gè)數(shù)據(jù)類型,即teleph one 和fax(2)刪除用戶定義的數(shù)據(jù)類型當(dāng)用戶定義的數(shù)據(jù)類型不需要時(shí),可刪除。刪除用戶定義的數(shù)據(jù)類型的命令是 sp_droptype 'type'例子:Use masterExec sp_droptype 'ss n'注意:當(dāng)表中的列還正在使用用戶定義的數(shù)據(jù)類型時(shí),或者在其上面還綁定有

13、默認(rèn)或者規(guī)則時(shí),這種用戶定義的數(shù)據(jù)類型不能刪 除。SQL SERVE的字段類型說(shuō)明以下為SQL SERVER7.(以上版本的字段類型說(shuō)明。SQL SERVER6.的字段類型說(shuō)明請(qǐng)參考SQL SERVE提供的說(shuō)明。字段類型描述bit 0或1的整型數(shù)字int 從-2八31(-2,147,483,648) 至U 2八31(2,147,483,647) 的整型 數(shù)字smallint從-2八15(-32,768) 到 2八15(32,767)的整型數(shù)字tinyint從0到255的整型數(shù)字decimal從-10八38到10八38-1的定精度與有效位數(shù)的數(shù)字nu meric decimal 的同義詞mone

14、y 從-2八63(-922,337,203,685,477.5808)至 U2八63-1(922,337,203,685,477.5807)的貨幣數(shù)據(jù),最小貨幣單位千分之十smallmoney 從-214,748.3648 至U 214,748.3647 的貨幣數(shù)據(jù),最小貨幣單位千分之十float 從-1.79E+308到1.79E+308可變精度的數(shù)字 real從-3.04E+38到3.04E+38可變精度的數(shù)字datetime 從1753年1月1日到9999年12日31的日期和時(shí)間 數(shù)據(jù),最小時(shí)間單位為百分之三秒或3.33毫秒smalldatetime 從1900年1月1日到2079年6月

15、6日的日期和 時(shí)間數(shù)據(jù),最小時(shí)間單位為分鐘timestamp時(shí)間戳,一個(gè)數(shù)據(jù)庫(kù)寬度的唯一數(shù)字uniqueidentifier全球唯一標(biāo)識(shí)符 GUIDchar定長(zhǎng)非Unicode的字符型數(shù)據(jù),最大長(zhǎng)度為8000 varchar變長(zhǎng)非Uni code的字符型數(shù)據(jù),最大長(zhǎng)度為 8000 text變長(zhǎng)非Unicode的字符型數(shù)據(jù),最大長(zhǎng)度為2八31-1(2G) nchar定長(zhǎng)Unicode的字符型數(shù)據(jù),最大長(zhǎng)度為8000 nvarchar變長(zhǎng)Unicode的字符型數(shù)據(jù),最大長(zhǎng)度為 8000 ntext變長(zhǎng)Unicode的字符型數(shù)據(jù),最大長(zhǎng)度為2A31-1(2G) binary定長(zhǎng)二進(jìn)制數(shù)據(jù),最大長(zhǎng)度為

16、8000 varbi nary 變長(zhǎng)二進(jìn)制數(shù)據(jù),最大長(zhǎng)度為 8000 image變長(zhǎng)二進(jìn)制數(shù)據(jù),最大長(zhǎng)度為 2A31-1(2G) 1,char,nchar,nvarchar,varchar有什么區(qū)別?2,text和ntext有什么區(qū)別以及和上面各種字符類有什么區(qū)別?3,關(guān)于帶big和帶small的類型,比如:smallint ,nt和bigint ;以及 smalldatetime , datetime 禾口 bigdatetime 有什么區(qū)別??jī)蓚€(gè)字符型字段分別定義為 char(10)和varchar(IO),當(dāng)給它們存入“ 123”這個(gè)數(shù)據(jù)時(shí),char(10)字段占用十個(gè)字節(jié)的存儲(chǔ)空間,而

17、varchar(IO)只占用3個(gè)字節(jié)存儲(chǔ)空間,這就是 char和varchar的區(qū)別。可以看出varchar比較適合存儲(chǔ)長(zhǎng)度變化很大的數(shù)據(jù)。nchar禾口 char,nvarchar禾口 varchar 的區(qū)別在于是否使用Unicode進(jìn)行編碼。一般情況下在僅僅處理中文及英文,不涉及特殊 符號(hào)時(shí)不需要使用Unicode。另一種需要用Unicode的情況是需要將 字符串?dāng)?shù)據(jù)添加到SQL語(yǔ)句中執(zhí)行,又不想里面的東西如單引號(hào)使 SQL產(chǎn)生誤解,可以將其用Unicode編碼,這時(shí)每個(gè)字符都將占用兩 個(gè)字節(jié),單引號(hào)也不會(huì)被SQL識(shí)別了。ntext和text的區(qū)別也是一樣。由于每個(gè)字符都占用兩個(gè)字節(jié),比較

18、適合存儲(chǔ)純中文包括少量英文的數(shù)據(jù)。smallint、int和bigint的區(qū)別僅僅在于位數(shù)不同。smallint可存儲(chǔ)2字節(jié)整數(shù)(-3276832767), int可存儲(chǔ)4字節(jié)整數(shù)(-21474836482147483647), bigint 可存儲(chǔ) 8 字節(jié)整數(shù)(-9223372036854775808922337203685477580。smalldatetime 用兩個(gè)字節(jié)存儲(chǔ),可表示從 1900年1月1日到2079年6月6日之間的任何時(shí)間,精確到分鐘。datetime用四個(gè)字 節(jié)存儲(chǔ),可表示1753年1月1日到9999年12月31日的任何時(shí)間, 精確到百分之三秒。sql中沒(méi)有bigda

19、tetime類型。簡(jiǎn)單的說(shuō):char禾口 nchar是定長(zhǎng)字符串類型, varchar禾口 nvarchar 是變長(zhǎng) 字符串類型。也就是說(shuō)如果字段類型為char(10),那么即使你輸入的字符為'abc',在數(shù)據(jù)庫(kù)中也會(huì)保存成'abc',字段前面會(huì)被自動(dòng) 補(bǔ)上7個(gè)空格。而使用varchar(10)則前面不會(huì)補(bǔ)空格。至于前面那個(gè)n有什么不同,有n代表支持unicode字符,而沒(méi) 有n的則不支持,text和ntext的區(qū)別也是一樣。text和char及varchar的區(qū)別在于,char和varchar字段的數(shù) 據(jù)是保存在表中,而text字段可以保存大容量的文本,數(shù)據(jù)是

20、保存 在另外的空間里,當(dāng)然在表面上看來(lái)并沒(méi)有什么區(qū)別。關(guān)于帶big和small的類型。small代表是簡(jiǎn)化的數(shù)據(jù)類型,支 持的范圍比較小,但占用的空間也小。big是超大的數(shù)據(jù)類型,占用 的空間大,但支持的范圍也大。比如 smalli nt只占用一個(gè)字節(jié),但 是只能支持0-255的數(shù)字。datetime也是一樣。1. char和nchar當(dāng)填入數(shù)據(jù)為空時(shí),數(shù)據(jù)庫(kù)自動(dòng)使用全空格 來(lái)代替,從而使not null形同虛設(shè)。所以如果字段不能為空,一定 要在程序中提前判斷。2. char和nchar因?yàn)殚L(zhǎng)度固定,據(jù)說(shuō)讀寫(xiě)的速度要比 varchar 禾口 nvarchar 快SQL Server數(shù)據(jù)庫(kù)的數(shù)據(jù)

21、類型詳細(xì)介紹SQLServer提供了 25種數(shù)據(jù)類型:Bi nary (n), Varbi nary (n), Char(n), Varchar(n)Nchar(n), Nvarchar(n), Datetime , SmalldatetimeDecimal(p,s) , Numeric(p,s), Float(n), Real, Int ,Smallint , Tinyint , Money Smallmoney, Bit , CursorSysname Timestamp, Uniqueidentifier, Text, Image, Ntext。下面來(lái)分別介紹這些數(shù)據(jù)類型:(1 )二進(jìn)制

22、數(shù)據(jù)類型二進(jìn)制數(shù)據(jù)包括 Binary、Varbinary 和 ImageBin ary數(shù)據(jù)類型既可以是固定長(zhǎng)度的(Bi nary),也可以是變長(zhǎng) 度的。Binary(n)是n位固定的二進(jìn)制數(shù)據(jù)。其中,n的取值范圍是從1到8000。其存儲(chǔ)窨的大小是n + 4 個(gè)字節(jié)。Varbinary(n) 是n位變長(zhǎng)度的二進(jìn)制數(shù)據(jù)。其中,n的取值 范圍是從1到8000。其存儲(chǔ)窨的大小是n + 4個(gè)字節(jié),不是n個(gè) 字節(jié)。在Image數(shù)據(jù)類型中存儲(chǔ)的數(shù)據(jù)是以位字符串存儲(chǔ)的,不是由 SQL Server解釋的,必須由應(yīng)用程序來(lái)解釋。例如,應(yīng)用程序可以使用 BMP TIEF、GIF和JPEG格式把數(shù)據(jù) 存儲(chǔ)在Imag

23、e數(shù)據(jù)類型中。(2)字符數(shù)據(jù)類型字符數(shù)據(jù)的類型包括 Char,Varchar和Text字符數(shù)據(jù)是由任何字母、符號(hào)和數(shù)字任意組合而成的數(shù)據(jù)。Varchar是變長(zhǎng)字符數(shù)據(jù),其長(zhǎng)度不超過(guò) 8KB。Char是定長(zhǎng)字符數(shù)據(jù),其長(zhǎng)度最多為 8KB。超過(guò)8KB的ASCII數(shù)據(jù)可以使用Text數(shù)據(jù)類型存儲(chǔ)。例如, 因?yàn)镠tml文檔全部都是ASCII字符,并且在一般情況下長(zhǎng)度超過(guò) 8KB,所以這些文檔可以Text數(shù)據(jù)類型存儲(chǔ)在SQL Server中。3)Uni code數(shù)據(jù)類型Unicode 數(shù)據(jù)類型包括 Nchar,Nvarchar 和 Ntext在Microsoft SQL Server中,傳統(tǒng)的非 Uni

24、 code 數(shù)據(jù)類型允許使用由特定字符集定義的字符。在SQL Server安裝過(guò)程,允許選擇一種字符集。使用Unicode數(shù)據(jù)類型,列中可以存儲(chǔ)任何由 Uni code標(biāo)準(zhǔn)定義的字符。在Unicode標(biāo)準(zhǔn)中,包括了以各種字符集定義的全部字符。使用Unicode數(shù)據(jù)類型,所戰(zhàn)勝的窨是使用非 Uni code數(shù)據(jù)類型所占用的窨大小的兩倍。在 SQL Server 中,Unicode 數(shù)據(jù)以 Nchar、Nvarchar 和 Ntext 數(shù)據(jù)類型存儲(chǔ)。使用這種字符類型存儲(chǔ)的列可以存儲(chǔ)多個(gè)字符集中的字符。當(dāng)列的長(zhǎng)度變化時(shí),應(yīng)該使用 Nvarchar字符類型,這時(shí)最多可以存儲(chǔ)4000個(gè)字符。當(dāng)列的長(zhǎng)度固

25、定不變時(shí),應(yīng)該 使用Nchar字符類型,同樣,這時(shí)最多可以存儲(chǔ)4000個(gè)字符。當(dāng)使用Ntext數(shù)據(jù)類型時(shí),該列可以存儲(chǔ)多于4000個(gè)字符(4)日期和時(shí)間數(shù)據(jù)類型日期和時(shí)間數(shù)據(jù)類型包括 Datetime和Smalldatetime 兩種類 型日期和時(shí)間數(shù)據(jù)類型由有效的日期和時(shí)間組成。例如,有效的日期和時(shí)間數(shù)據(jù)包括“ 4/01/98 12:15:00:00:00 PM 和“ 1:28:29:15:01AM 8/17/98”。前一個(gè)數(shù)據(jù)類型是日期在前,時(shí)間在后一個(gè)數(shù)據(jù)類型是霎時(shí)間在 前,日期在后。在Microsoft SQL Server中,日期和時(shí)間數(shù)據(jù)類型包括Datetime 和 Smallda

26、tetime 兩種類型時(shí),所存儲(chǔ)的日期范圍是從1753年1月1日開(kāi)始,到9999年12 月31日結(jié)束(每一個(gè)值要求8個(gè)存儲(chǔ)字節(jié))。使用Smalldatetime 數(shù)據(jù)類型時(shí),所存儲(chǔ)的日期范圍是1900年1月1日 開(kāi)始,到2079年12 月31日結(jié)束(每一個(gè)值要求4個(gè)存儲(chǔ)字節(jié))。日期的格式可以設(shè)定。設(shè)置日期格式的命令如下:Set DateFormat format | format _var|其中,format | format_var是日期的順序。有效的參數(shù)包括MDYDMYYMDYDM MYD和 DYM在默認(rèn)情況下,日期格式為 MDY例如,當(dāng)執(zhí)行Set DateFormat YMD之后,日期的

27、格式為年 月 日 形式;當(dāng)執(zhí)行Set DateFormat DMY之后,日期的格式為日 月有年 形 式(5)數(shù)字?jǐn)?shù)據(jù)類型數(shù)字?jǐn)?shù)據(jù)只包含數(shù)字。數(shù)字?jǐn)?shù)據(jù)類型包括正數(shù)和負(fù)數(shù)、小數(shù)(浮 點(diǎn)數(shù))和整數(shù)整數(shù)由正整數(shù)和負(fù)整數(shù)組成,例如 39、25、0-2和33967。在Micrsoft SQL Server中,整數(shù)存儲(chǔ)的數(shù)據(jù)類型是Int ,Smalli nt 和 Tinyint 。Int數(shù)據(jù)類型存儲(chǔ)數(shù)據(jù)的范圍大于Smalli nt數(shù)據(jù)類型存儲(chǔ)數(shù)據(jù)的范圍,而Smalli nt據(jù)類型存儲(chǔ)數(shù)據(jù)的范圍大于Tinyint數(shù)據(jù)類型存儲(chǔ)數(shù)據(jù)的范圍。使用Int數(shù)據(jù)存儲(chǔ)數(shù)據(jù)的范圍是從-2 147 483 648 到2 147

28、483 647 (每一個(gè)值要求4個(gè)字節(jié)存儲(chǔ)空間)。使用Smallint數(shù)據(jù)類型時(shí),存儲(chǔ)數(shù)據(jù)的范圍從-32 768到32767 (每一個(gè)值要求2個(gè)字節(jié)存儲(chǔ)空間)。使用Tinyint數(shù)據(jù)類型時(shí),存儲(chǔ)數(shù)據(jù)的范圍是從0到255 (每一個(gè)值要求1個(gè)字節(jié)存儲(chǔ)空間)。精確小數(shù)數(shù)據(jù)在SQL Server中的數(shù)據(jù)類型是Decimal和 Numeric。這種數(shù)據(jù)所占的存儲(chǔ)空間根據(jù)該數(shù)據(jù)的位數(shù)后的位數(shù)來(lái)確定。在SQLServer中,近似小數(shù)數(shù)據(jù)的數(shù)據(jù)類型是 Float 和Real。例如,三分之一這個(gè)分?jǐn)?shù)記作。3333333,當(dāng)使用近似數(shù)據(jù)類型時(shí)能準(zhǔn)確表示。因此,從系統(tǒng)中檢索到的數(shù)據(jù)可能與存儲(chǔ)在該列中數(shù)據(jù)不完全一樣。

29、(6) 貨幣數(shù)據(jù)表示正的或者負(fù)的貨幣數(shù)量。在Microsoft SQLServer中,貨幣數(shù)據(jù)的數(shù)據(jù)類型是Money和 Smallmoney。而Money數(shù)據(jù)類型要求8個(gè)存儲(chǔ)字節(jié),Smallmoney數(shù)據(jù)類型要 求4個(gè)存儲(chǔ)字節(jié)。(7)特殊數(shù)據(jù)類型特殊數(shù)據(jù)類型包括前面沒(méi)有提過(guò)的數(shù)據(jù)類型。特殊的數(shù)據(jù)類型有3 不中,即卩 Timestamp、 Bit 禾口 Uniqueidentifier。Timestamp用于表示SQLServer活動(dòng)的先后順序,以二進(jìn)投影 的格式表示。Timestamp數(shù)據(jù)與插入數(shù)據(jù)或者日期和時(shí)間沒(méi)有關(guān)系。Bit由1或者0組成。當(dāng)表示真或者假、ON或者OFF時(shí),使 用Bit數(shù)據(jù)

30、類型。例如,詢問(wèn)是否是每一次訪問(wèn)的客戶機(jī)請(qǐng)求可以存儲(chǔ)在這種數(shù)據(jù) 類型的列中。Uniqueidentifier由16字節(jié)的十六進(jìn)制數(shù)字組成,表示一個(gè)全局唯一的。當(dāng)表的記錄行要求唯一時(shí),GUID是非常有用。例如,在客戶標(biāo) 識(shí)號(hào)列使用這種數(shù)據(jù)類型可以區(qū)別不同的客戶。用戶定義的數(shù)據(jù)類型用戶定義的數(shù)據(jù)類型基于在 Microsoft SQLServer中提供的數(shù) 據(jù)類型。當(dāng)幾個(gè)表中必須存儲(chǔ)同一種數(shù)據(jù)類型時(shí),并且為保證這些列有相同的數(shù)據(jù)類型、長(zhǎng)度和可空性時(shí),可以使用用戶定義的數(shù)據(jù)類型。例如,可定義一種稱為postal_code的數(shù)據(jù)類型,它基于Char數(shù)據(jù)類型。當(dāng)創(chuàng)建用戶定義的數(shù)據(jù)類型時(shí),必須提供三個(gè)數(shù):數(shù)

31、據(jù)類型的名稱、所基于的系統(tǒng)數(shù)據(jù)類型和數(shù)據(jù)類型的可空性。(1)創(chuàng)建用戶定義的數(shù)據(jù)類型創(chuàng)建用戶定義的數(shù)據(jù)類型可以使用 Transact-SQL語(yǔ)句。系統(tǒng)存 儲(chǔ)過(guò)程sp_addtype可以來(lái)創(chuàng)建用戶定義的數(shù)據(jù)類型。其語(yǔ)法形式如 下:sp_addtype type,system_data_bype,' nu ll_type'其中,type是用戶定義的數(shù)據(jù)類型的名稱。system_data_type 是系統(tǒng)提供的數(shù)據(jù)類型,例如 Decimal、Int、Char等等。n ull_type 表示該數(shù)據(jù)類型是如何處理空值的,必須使用單引號(hào) 弓I起來(lái),例女口 'NULL'、NOT

32、 NULL'或者'NONULL'。例子:Use custExec sp_addtype ssn ,'Varchar(11)','Not Null'創(chuàng)建一個(gè)用戶定義的數(shù)據(jù)類型 ssn,其基于的系統(tǒng)數(shù)據(jù)類型是變 長(zhǎng)為11的字符,不允許空。例子:Use custExec sp_addtype birthday,datetime,'Null'創(chuàng)建一個(gè)用戶定義的數(shù)據(jù)類型 birthday ,其基于的系統(tǒng)數(shù)據(jù)類型是DateTime,允許空。例子:Use masterExec sp_addtype telepho ne,'var

33、char(24),'Not Null'Eexc sp_addtype fax,'varchar(24)','Null'創(chuàng)建兩個(gè)數(shù)據(jù)類型,即telepho ne 和fax(2)刪除用戶定義的數(shù)據(jù)類型當(dāng)用戶定義的數(shù)據(jù)類型不需要時(shí),可刪除。刪除用戶定義的數(shù)據(jù)類型的命令是 sp_droptype 'type' 。例子:Use masterExec sp_droptype 'ss n'注意:當(dāng)表中的列還正在使用用戶定義的數(shù)據(jù)類型時(shí),或者在其上面還綁定有默認(rèn)或者規(guī)則時(shí),這種用戶定義的數(shù)據(jù)類型不能刪除。本人補(bǔ)充一下:ACCESS

34、據(jù)表中字段中如果有:數(shù)據(jù)類型“是/否”當(dāng)轉(zhuǎn)為SQLSERVE數(shù)據(jù)表時(shí),數(shù)據(jù)類型變?yōu)椤?bit ” ,當(dāng)用VBA增加新記錄時(shí), 如果該字段沒(méi)有操作的話,則值為 NULL在SQLSE中,如果此字段16為NULL即使在表設(shè)計(jì)時(shí)允許該字段為空,但修改記錄的任一字段 也會(huì)出現(xiàn)上述“寫(xiě)入沖突”的現(xiàn)象。解決方法一:在VBAt增加記錄時(shí)要把該記錄的值轉(zhuǎn)為 0或1解決方法二:在SQLSEFVEP中的重新設(shè)計(jì)表,使字段不允許空,且默認(rèn)值為0,這樣不用在程序中加入代碼SQL數(shù)據(jù)類型下面的表格列出了主要數(shù)據(jù)類型。這些同義字在Microsoft Jet 數(shù)據(jù)庫(kù)引擎SQL保留字中被識(shí)別。數(shù)據(jù)類型存儲(chǔ)大小說(shuō)明BINARY每

35、個(gè)字符占一個(gè)字節(jié)任何類型的數(shù)據(jù)都可存儲(chǔ)在這種類型的字段中。不需數(shù)據(jù)轉(zhuǎn)換(例如,轉(zhuǎn)換到文本數(shù)據(jù))。數(shù)據(jù)輸入二進(jìn)制字段的 方式?jīng)Q定了它的輸出方式。BIT 1個(gè)字節(jié)Yes和No,以及只包含這兩個(gè)數(shù)值之一的字段。 TINYINT 1 個(gè)字節(jié) 介于0到255之間的整型數(shù)。MONEY 8 個(gè)字節(jié)介于-922,337,203,685,477.5808至U922,337,203,685,477.5807之間的符號(hào)整數(shù)。編輯本段DATETIME(請(qǐng)參閱DOUBLE ) 8 個(gè)字節(jié) 介于100 到9999年的日期或時(shí)間數(shù) 值。UNIQUEIDENTIFIER 128個(gè)位用于遠(yuǎn)程過(guò)程調(diào)用的唯一識(shí)別數(shù)字。REAL 4

36、個(gè)字節(jié)單精度浮點(diǎn)數(shù),負(fù)數(shù)范圍是從 -3.402823E38至V -1.401298E-45,正數(shù)從 1.401298E-45 至U 3.402823E38,和 0。FLOAT 8個(gè)字節(jié) 雙精度浮點(diǎn)數(shù),負(fù)數(shù)范圍是從-1.79769313486232E308 至U - 4.94065645841247E-324,正數(shù)從 4.94065645841247E-324 到 1.79769313486232E308,和 0。SMALLINT 2個(gè)字節(jié)介于 -32,768至U 32,767 的短整型數(shù)。INTEGER 4 個(gè)字節(jié) 介于 -2,147,483,648至U 2,147,483,647 的長(zhǎng)整型數(shù)

37、。DECIMAL 17個(gè)字節(jié) 容納從1028 - 1 至U - 1028 - 1.的值的精確的數(shù)字?jǐn)?shù)據(jù)類型。你可以定義精度(1 - 28)和 符號(hào)(0 -定義精度)。缺省精度和符號(hào)分別是18和0。TEXT每一字符兩字節(jié)(參見(jiàn)注意)從零到最大2,14 千兆字節(jié)。IMAGE視實(shí)際需要而定從零到最大2,14 千兆字節(jié)。用于 OLE對(duì)象。CHARACTER字符兩字節(jié)(參見(jiàn)注意)長(zhǎng)度從0到255個(gè)字符可以用ALTER TABLE語(yǔ)句修正基數(shù)和增量。岡寸插進(jìn)表中的行會(huì)有自動(dòng) 為基于新種值和增量值的列生成的值。如果新種和增長(zhǎng)的值和以前的種值及增量匹配,就會(huì)造成復(fù)制。如果這個(gè)列是主鍵,復(fù)制值生成時(shí)可能導(dǎo)致錯(cuò)誤

38、。定義成TEXT也稱作 MEMO或CHAR(也稱作有具體長(zhǎng)度的TEXT(n)的字段中的字符被儲(chǔ)存在Unicode 表示格式。Unicode字符一律需要兩個(gè)字節(jié)存儲(chǔ)每一字符。對(duì)于現(xiàn)有的主要包含字符數(shù)據(jù)的Microsoft Jet數(shù)據(jù)庫(kù),這可能意味著數(shù)據(jù)庫(kù)文件被轉(zhuǎn)換成Microsoft Jet 4.0格式時(shí)字長(zhǎng)會(huì)增加將近一倍。然而,從前由單字節(jié)字符群(SBCS)指示的眾多字符群的Un icode表示可以很容易地被壓縮成一個(gè)單字節(jié)。有關(guān)的詳細(xì)信息,參見(jiàn)CREATETABLE如果用 COMPRESSION性定義CHAR列,數(shù)據(jù)存儲(chǔ)時(shí)會(huì)自動(dòng)被壓縮,提取時(shí)解壓縮請(qǐng)參閱等效的ANSI SQL數(shù)據(jù)類型Micr

39、osoft Jet數(shù)據(jù)庫(kù)引擎 SQL的保留字 1.SQL SERVER的數(shù)據(jù)類型數(shù)據(jù)類型是數(shù)據(jù)的一種屬性,表示數(shù)據(jù)所表示信息的類型。任何一種計(jì)算機(jī)語(yǔ)言都定義了自己的數(shù)據(jù)類型。當(dāng)然,不同的程序語(yǔ)言都具有不同的特點(diǎn),所定義的數(shù)據(jù)類型的種類和名稱都或多或少有些不同。SQLServer提供了 25種數(shù)據(jù)類型: Bin ary (n) Varbi nary (n) Char (n) Varchar( n) Nchar( n) Nvarchar( n) Datetime Smalldatetime Decimal(p,s) Numeric(p,s) Float( n) Real I nt Smalli n

40、t Ti nyi nt Money Smallm oney Bit Cursor Sysn ame Timesta mp Uniq ueide ntifier-TextImage -Ntext(1) 二進(jìn)制數(shù)據(jù)類型二進(jìn)制數(shù)據(jù)包括 Bi nary、Varbi nary 和 ImageBin ary 數(shù)據(jù)類型既可以是固定長(zhǎng)度的(Bi nary),也可以是變長(zhǎng)度的。Binary(n)是n位固定的二進(jìn)制數(shù)據(jù)。其中,n的取值范圍是從1到8000。其存儲(chǔ)窨的大小是n + 4個(gè)字節(jié)。Varbinary(n)是n位變長(zhǎng)度的二進(jìn)制數(shù)據(jù)。其中,n的取值范圍是從1到8000。其存儲(chǔ)窨的大小是n + 4 個(gè)字節(jié),不是

41、n個(gè)字節(jié)。在Image數(shù)據(jù)類型中存儲(chǔ)的數(shù)據(jù)是以位字符串存儲(chǔ)的,不是由SQLServer解釋的,必須由 應(yīng)用程序來(lái)解釋。例如,應(yīng)用程序可以使用BMPTIEF、GIF和JPEG格式把數(shù)據(jù)存儲(chǔ)在Image 數(shù)據(jù)類型中。(2) 字符數(shù)據(jù)類型字符數(shù)據(jù)的類型包括Char, Varchar和Text字符數(shù)據(jù)是由任何字母、符號(hào)和數(shù)字任意組合而成的數(shù)據(jù)。Varchar是變長(zhǎng)字符數(shù)據(jù),其長(zhǎng)度不超過(guò) 8KB °Char是定長(zhǎng)字符數(shù)據(jù), 其長(zhǎng)度最多為8KB。超過(guò)8KB的ASCII數(shù)據(jù)可以使用Text數(shù)據(jù)類型存儲(chǔ)。例如,因?yàn)镠tml文檔全部都是ASCII字符,并且在一般情況下長(zhǎng)度超過(guò) 8KB,所以這些文檔可以

42、 Text 數(shù)據(jù)類型存儲(chǔ)在 SQL Server中。(3) U nicode數(shù)據(jù)類型Uni code 數(shù)據(jù)類型包括 Nchar,Nvarchar 和 Ntext在Microsoft SQL Server中,傳統(tǒng)的非 Unicode 數(shù)據(jù)類型允許使用由特定字符集定義的字符。在SQL Server安裝過(guò)程中,允許選擇一種字符 集。使用Unicode 數(shù)據(jù)類型,列中可以存儲(chǔ)任何由Unicode標(biāo)準(zhǔn)定義的字符。在Unicode 標(biāo)準(zhǔn)中,包括了以各種字符集定義的全部字符。使用Unicode數(shù)據(jù)類型,所戰(zhàn)勝的窨是使用非Unicode 數(shù)據(jù)類型所占用的窨大小的兩倍。在 SQL Server 中,Uni co

43、de 數(shù)據(jù)以 Nchar、Nvarchar 和 Ntext 數(shù)據(jù) 類型存儲(chǔ)。使用這種字符類型存儲(chǔ)的列可以存儲(chǔ)多個(gè)字符集中的字符。當(dāng)列的長(zhǎng)度變化時(shí),應(yīng)該使用Nvarchar字符類型,這時(shí)最多可以存儲(chǔ)4000個(gè)字符。當(dāng)列的長(zhǎng)度固定不變時(shí),應(yīng)該使用Nchar字符類型,同樣,這時(shí)最多可以存儲(chǔ)4000個(gè)字符。當(dāng)使用 Ntext數(shù)據(jù)類型時(shí),該列可以存儲(chǔ)多于4000個(gè)字符。(4) 日期和時(shí)間數(shù)據(jù)類型日期和時(shí)間數(shù)據(jù)類型包括Datetime 和Smalldatetime兩種類型日期和時(shí)間數(shù)據(jù)類型由有效的日期和時(shí)間組成。例如,有效的日期和時(shí)間數(shù)據(jù)包括“ 4/01/98 12:15:00:00:00 PM ”和“

44、1:28:29:15:01AM 8/17/98 ”。前一個(gè)數(shù)據(jù)類型是日期在前,時(shí)間在后一個(gè)數(shù)據(jù)類型是霎時(shí)間在前,日期在后。在 Microsoft SQL Server中,日期和時(shí)間數(shù)據(jù)類型包括Datetime 和Smalldatetime兩種類型時(shí),所存儲(chǔ)的日期范圍是從1753年1月1日開(kāi)始,到9999年12月31日結(jié)束(每一個(gè)值要求8個(gè)存儲(chǔ)字 節(jié))。使用Smalldatetime 數(shù)據(jù)類型時(shí),所存儲(chǔ)的日期范圍是 1900年1月 1日 開(kāi)始,到2079年12月31日結(jié)束(每一個(gè)值要求4個(gè)存儲(chǔ)字節(jié))。日期的格式可以設(shè)定。設(shè)置日期格式的命令如下:Set DateFormat format | fo

45、rmat _var|其中,format | format_var是日期的順序。有效的參數(shù)包括MDY、DMY YMD YDM MYD和DYM。在默認(rèn)情況下,日期格式為MDY例如,當(dāng)執(zhí)行 Set DateFormat YMD之后,日期的格式為年月曰形式;當(dāng)執(zhí)行Set DateFormat DMY之后,日期的格式為日月有年 形式(5)數(shù)字?jǐn)?shù)據(jù)類型數(shù)字?jǐn)?shù)據(jù)只包含數(shù)字。數(shù)字?jǐn)?shù)據(jù)類型包括正數(shù)和負(fù)數(shù)、小數(shù)(浮點(diǎn)數(shù))和整數(shù)整數(shù)由正整數(shù)和負(fù)整數(shù)組成,例如39、25、0-2和33967。在MicrosoftSQLServer 中,整數(shù)存儲(chǔ)的數(shù)據(jù)類型是Int , Smallint 和Tinyint 。Int 數(shù)據(jù)類

46、型存儲(chǔ)數(shù)據(jù)的范圍大于Smalli nt數(shù)據(jù)類型存儲(chǔ)數(shù)據(jù)的范圍,而Smallint據(jù)類型存儲(chǔ)數(shù)據(jù)的范圍大于Tinyint 數(shù)據(jù)類型存儲(chǔ) 數(shù)據(jù)的范圍。使用Int 數(shù)據(jù)類型存儲(chǔ)數(shù)據(jù)的范圍是從-2 147 483 648到2 147 483 647(每一個(gè)值要求4個(gè)字節(jié)存儲(chǔ)空間)。使用Smallint數(shù)據(jù)類型時(shí),存儲(chǔ)數(shù)據(jù)的范圍從-32 768到32 767 (每一個(gè)值要求 2個(gè)字節(jié)存儲(chǔ)空間)。使用 Tinyint數(shù)據(jù)類型時(shí),存儲(chǔ)數(shù)據(jù)的范圍是從 0到255 (每一個(gè)值要求1個(gè)字節(jié)存儲(chǔ)空間)。精確小數(shù)數(shù)據(jù)在 SQL Server 中的數(shù)據(jù)類型是 Decimal和Numeric 。 這種數(shù)據(jù)所占的存儲(chǔ)空間根

47、據(jù)該數(shù)據(jù)的位數(shù)后的位數(shù)來(lái)確定。Decimal數(shù)據(jù)類型使用128位來(lái)表示值來(lái)用作數(shù)值計(jì)算。在SQLServer中,近似小數(shù)數(shù)據(jù)的數(shù)據(jù)類型是Float 和Real。例如,三分之一這個(gè)分?jǐn)?shù)記作。3333333,當(dāng)使用近似數(shù)據(jù)類型時(shí)能準(zhǔn)確表示。因此,從系統(tǒng)中檢索到的數(shù)據(jù)可能與存儲(chǔ)在該列中數(shù)據(jù)不完全一樣。(6 )貨幣數(shù)據(jù)表示正的或者負(fù)的貨幣數(shù)量。在Microsoft SQL Server中,貨幣數(shù)據(jù)的數(shù)據(jù)類型是Money和Smallm oneyMoney數(shù)據(jù)類型要求 8個(gè)存儲(chǔ)字節(jié),Smallmoney數(shù)據(jù)類型要求 4個(gè) 存儲(chǔ)字節(jié)。(7)特殊數(shù)據(jù)類型特殊數(shù)據(jù)類型包括前面沒(méi)有提過(guò)的數(shù)據(jù)類型。特殊的數(shù)據(jù)類型有

48、3種,即 Timestamp 、 Bit 和 Uniqueidentifier。Timestamp用于表示SQL Server活動(dòng)的先后順序,以二進(jìn)投影的格式表示。Timestamp數(shù)據(jù)與插入數(shù)據(jù)或者日期和時(shí)間沒(méi)有關(guān)系。Timestamp類型的字段是一個(gè)基于系統(tǒng)時(shí)鐘在數(shù)據(jù)行被創(chuàng)建或修改時(shí)由SQL Server自動(dòng)填充的值。Bit由1或者0組成。當(dāng)表示真或者假、ON或者OFF時(shí),使用Bit 數(shù)據(jù)類型。例如,詢問(wèn)是否是每一次訪問(wèn)的客戶機(jī)請(qǐng)求可以存儲(chǔ)在這種數(shù)據(jù) 類型的列中。Uni queide ntifier由16 字節(jié)的十六進(jìn)制數(shù)字組成,表示一個(gè)全局唯一的。當(dāng)表的記錄行要求唯一時(shí),GUID是非常有

49、用。例如,在客戶標(biāo)識(shí)號(hào)列使用這種數(shù)據(jù)類型可以區(qū)別不同的客戶。2. 用戶定義的數(shù)據(jù)類型用戶定義的數(shù)據(jù)類型基于在Microsoft SQL Server中提供的數(shù)據(jù)類型。當(dāng)幾個(gè)表中必須存儲(chǔ)同一種數(shù)據(jù)類型時(shí),并且為保證這些列有相同的數(shù)據(jù)類型、長(zhǎng)度和可空性時(shí),可以使用用戶定義的數(shù)據(jù)類型。例如,可定義一種稱 為postal_code的數(shù)據(jù)類型,它基于 Char數(shù)據(jù)類型。當(dāng)創(chuàng)建用戶定義的數(shù)據(jù)類型時(shí),必須提供三個(gè)數(shù):數(shù)據(jù)類型的名稱、所 基于的系統(tǒng)數(shù)據(jù)類型和數(shù)據(jù)類型的可空性。(1) 創(chuàng)建用戶定義的數(shù)據(jù)類型創(chuàng)建用戶定義的數(shù)據(jù)類型可以使用Transact-SQL語(yǔ)句。系統(tǒng)存儲(chǔ)過(guò)程sp_addtype可以來(lái)創(chuàng)建用戶

50、定義的數(shù)據(jù)類型。其語(yǔ)法形式如下:sp_addtype type,system_data_bype, nu ll_type'其中,type是用戶定義的數(shù)據(jù)類型的名稱。 system_data_type 是系統(tǒng) 提供的數(shù)據(jù)類型,例如 Decimal、Int、Char等等。null_type 表示該數(shù) 據(jù)類型是如何處理空值的, 必須使用單引號(hào)引起來(lái), 例如'NULL'、'NOT NULL' 或者'NONULL'。例子:Use custExec sp_addtype ssn,'Varchar(11)','Not Null&

51、#39;創(chuàng)建一個(gè)用戶定義的數(shù)據(jù)類型ssn ,其基于的系統(tǒng)數(shù)據(jù)類型是變長(zhǎng)為11的字符,不允許空。例子:Use custExec sp_addtype birthday,datetime,'Null'創(chuàng)建一個(gè)用戶定義的數(shù)據(jù)類型birthday,其基于的系統(tǒng)數(shù)據(jù)類型是DateTime,允許空。例子:Use masterExec sp_addtype teleph on e,'varchar(24)','Not Null'Eexc sp_addtype fax,'varchar(24)','Nul l'創(chuàng)建兩個(gè)數(shù)據(jù)類型,即

52、teleph one 和fax(2) 刪除用戶定義的數(shù)據(jù)類型1當(dāng)用戶定義的數(shù)據(jù)類型不需要時(shí),可刪除。刪除用戶定義的數(shù)據(jù)類型的命令是 sp_droptype 'type' 。例子:Use masterExec sp_droptype 'ss n'注意:當(dāng)表中的列還正在使用用戶定義的數(shù)據(jù)類型時(shí),或者在其上面還綁定有默認(rèn)或者規(guī)則時(shí),這種用戶定義的數(shù)據(jù)類型不能刪除。3. varchar 和 nvarchar 的區(qū)另廿varchar( n)長(zhǎng)度為n個(gè)字節(jié)的可變長(zhǎng)度且非Uni code 的字符數(shù)據(jù)。n必須是一個(gè)介于1和8,000 之間的數(shù)值。存儲(chǔ)大小為輸入數(shù)據(jù)的字節(jié)的實(shí)際長(zhǎng)度,而不是n個(gè)字節(jié)(如varchar(6),當(dāng)字段為qqq時(shí),數(shù)據(jù)庫(kù)實(shí)際占用空間為3個(gè)字節(jié),而不是6個(gè)字節(jié),但只允許存儲(chǔ)6個(gè)字節(jié),一般中文占兩個(gè)字節(jié))。n varchar( n)包含n個(gè)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論