av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

SQL SERVER的數(shù)據(jù)類型 && SQLServer中易混淆的數(shù)據(jù)類型

瀏覽:2日期:2023-11-02 12:23:25

數(shù)據(jù)類弄是數(shù)據(jù)的一種屬性,表示數(shù)據(jù)所表示信息的類型。任何一種計(jì)算機(jī)語(yǔ)言都定義了自己的數(shù)據(jù)類型。當(dāng)然,不同的程序語(yǔ)言都具有不同的特點(diǎn),所定義的數(shù)據(jù)類型的各類和名稱都或多或少有些不同。SQLServer 提供了 25 種數(shù)據(jù)類型: ·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)二進(jìn)制數(shù)據(jù)類型

二進(jìn)制數(shù)據(jù)包括 Binary、Varbinary 和 Image Binary 數(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、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)?Html 文檔全部都是 ASCII 字符,并且在一般情況下長(zhǎng)度超過(guò) 8KB,所以這些文檔可以 Text 數(shù)據(jù)類型存儲(chǔ)在SQL Server 中。 (3)Unicode 數(shù)據(jù)類型

Unicode 數(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 中,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)度固定不變時(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 和 Smalldatetime 兩種類型時(shí),所存儲(chǔ)的日期范圍是從 1753 年 1 月 1 日開始,到9999 年12 月 31 日結(jié)束(每一個(gè)值要求 8 個(gè)存儲(chǔ)字節(jié))。使用 Smalldatetime 數(shù)據(jù)類型時(shí),所存儲(chǔ)的日期范圍是 1900年 1 月 1日 開始,到 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)情況下,日期格式為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ù)的范圍,而 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ù)據(jù)在 SQL Server 中的數(shù)據(jù)類型是 Decimal 和 Numeric。這種數(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)確表示。因此,從系統(tǒng)中檢索到的數(shù)據(jù)可能與存儲(chǔ)在該列中數(shù)據(jù)不完全一樣。 (6)貨幣數(shù)據(jù)表示正的或者負(fù)的貨幣數(shù)量 。

在 Microsoft SQL Server 中,貨幣數(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 用于表示SQL Server 活動(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ù)類型。例如,詢問(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 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)建用戶定義的數(shù)據(jù)類型。其語(yǔ)法形式如下: sp_addtype {type},[,system_data_bype][,'null_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 cust Exec sp_addtype ssn,'Varchar(11)','Not Null' 創(chuàng)建一個(gè)用戶定義的數(shù)據(jù)類型 ssn,其基于的系統(tǒng)數(shù)據(jù)類型是變長(zhǎng)為11 的字符,不允許空。 例子: Use cust Exec sp_addtype birthday,datetime,'Null' 創(chuàng)建一個(gè)用戶定義的數(shù)據(jù)類型 birthday,其基于的系統(tǒng)數(shù)據(jù)類型是 DateTime,允許空。 例子: Use master Exec sp_addtype telephone,'varchar(24),'Not Null' Eexc sp_addtype fax,'varchar(24)','Null' 創(chuàng)建兩個(gè)數(shù)據(jù)類型,即 telephone 和 fax (2)刪除用戶定義的數(shù)據(jù)類型

當(dāng)用戶定義的數(shù)據(jù)類型不需要時(shí),可刪除。刪除用戶定義的數(shù)據(jù)類型的命令是 sp_droptype {'type'}。 例子: Use master Exec sp_droptype 'ssn' 注意:當(dāng)表中的列還正在使用用戶定義的數(shù)據(jù)類型時(shí),或者在其上面還綁定有默認(rèn)或者規(guī)則時(shí),這種用戶定義的數(shù)據(jù)類型不能刪除。

SQLServer中易混淆的數(shù)據(jù)類型

SQL Server 中易混淆的數(shù)據(jù)類型 >近來(lái)在做數(shù)據(jù)庫(kù)設(shè)計(jì),有時(shí)候真弄不清SQL2000里的數(shù)據(jù)類型,所以摘了這篇文章。

(1)char、varchar、text和nchar、nvarchar、ntext char和varchar的長(zhǎng)度都在1到8000之間,它們的區(qū)別在于char是定長(zhǎng)字符數(shù)據(jù),而varchar是變長(zhǎng)字符數(shù)據(jù)。所謂定長(zhǎng)就是長(zhǎng)度固定的,當(dāng)輸入的數(shù)據(jù)長(zhǎng)度沒(méi)有達(dá)到指定的長(zhǎng)度時(shí)將自動(dòng)以英文空格在其后面填充,使長(zhǎng)度達(dá)到相應(yīng)的長(zhǎng)度;而變長(zhǎng)字符數(shù)據(jù)則不會(huì)以空格填充。text存儲(chǔ)可變長(zhǎng)度的非Unicode數(shù)據(jù),最大長(zhǎng)度為2^31-1(2,147,483,647)個(gè)字符。

后面三種數(shù)據(jù)類型和前面的相比,從名稱上看只是多了個(gè)字母'n',它表示存儲(chǔ)的是Unicode數(shù)據(jù)類型的字符。寫過(guò)程序的朋友對(duì)Unicode應(yīng)該很了解。字符中,英文字符只需要一個(gè)字節(jié)存儲(chǔ)就足夠了,但漢字眾多,需要兩個(gè)字節(jié)存儲(chǔ),英文與漢字同時(shí)存在時(shí)容易造成混亂,Unicode字符集就是為了解決字符集這種不兼容的問(wèn)題而產(chǎn)生的,它所有的字符都用兩個(gè)字節(jié)表示,即英文字符也是用兩個(gè)字節(jié)表示。nchar、nvarchar的長(zhǎng)度是在1到4000之間。和char、varchar比較:nchar、nvarchar則最多存儲(chǔ)4000個(gè)字符,不論是英文還是漢字;而char、varchar最多能存儲(chǔ)8000個(gè)英文,4000個(gè)漢字。可以看出使用nchar、nvarchar數(shù)據(jù)類型時(shí)不用擔(dān)心輸入的字符是英文還是漢字,較為方便,但在存儲(chǔ)英文時(shí)數(shù)量上有些損失。

(2)datetime和smalldatetime datetime:從1753年1月1日到9999年12月31日的日期和時(shí)間數(shù)據(jù),精確到百分之三秒。 smalldatetime:從1900年1月1日到2079年6月6日的日期和時(shí)間數(shù)據(jù),精確到分鐘。

(3)bitint、int、smallint、tinyint和bit bigint:從-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型數(shù)據(jù)。 int:從-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型數(shù)據(jù)。 smallint:從-2^15(-32,768)到2^15-1(32,767)的整數(shù)數(shù)據(jù)。 tinyint:從0到255的整數(shù)數(shù)據(jù)。 bit:1或0的整數(shù)數(shù)據(jù)。

(4)decimal和numeric 這兩種數(shù)據(jù)類型是等效的。都有兩個(gè)參數(shù):p(精度)和s(小數(shù)位數(shù))。p指定小數(shù)點(diǎn)左邊和右邊可以存儲(chǔ)的十進(jìn)制數(shù)字的最大個(gè)數(shù),p必須是從 1到38之間的值。s指定小數(shù)點(diǎn)右邊可以存儲(chǔ)的十進(jìn)制數(shù)字的最大個(gè)數(shù),s必須是從0到p之間的值,默認(rèn)小數(shù)位數(shù)是0。

(5)float和real float:從-1.79^308到1.79^308之間的浮點(diǎn)數(shù)字?jǐn)?shù)據(jù)。 real:從-3.40^38到3.40^38之間的浮點(diǎn)數(shù)字?jǐn)?shù)據(jù)。在SQL Server中,real的同義詞為float(24)。;

主站蜘蛛池模板: 国产精品国产三级国产aⅴ原创 | 久久综合一区 | 欧美精品一区二区三区在线四季 | 日本一二区视频 | 天天看天天干 | 91久久夜色 | 天天操网 | 成年人黄色一级毛片 | 亚洲欧美自拍偷拍视频 | 国产精品久久久久久一区二区三区 | 亚洲欧美自拍偷拍视频 | 久久久久久久久91 | 欧美日韩精品一区二区三区蜜桃 | 99国产视频 | 亚洲av毛片成人精品 | 欧美日韩一区精品 | 欧美日韩亚洲国产综合 | 久久久久国产一区二区三区 | 国产精品国产成人国产三级 | 99亚洲精品视频 | 国产三区在线观看视频 | 亚洲三区在线观看 | 午夜爱爱毛片xxxx视频免费看 | 日本免费在线 | 欧美日韩亚洲在线 | 综合久久亚洲 | 亚洲一区视频在线 | 亚洲精品v | 亚洲国产精品一区二区三区 | 夜夜爽99久久国产综合精品女不卡 | 亚洲不卡 | 亚洲免费成人 | 日韩在线观看一区 | 毛片com| 亚洲欧美在线免费观看 | 偷拍自拍第一页 | av天天干| 午夜一区二区三区在线观看 | 欧美一区二| 一区二区三区亚洲 | 操皮视频 |