国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

SQL SERVER的數(shù)據(jù)類型

2024-08-31 01:00:28
字體:
供稿:網(wǎng)友

1.SQL SERVER的數(shù)據(jù)類型

  數(shù)據(jù)類弄是數(shù)據(jù)的一種屬性,表示數(shù)據(jù)所表示信息的類型。任何一種計(jì)算機(jī)語言都定義了自己的數(shù)據(jù)類型。當(dāng)然,不同的程序語言都具有不同的特點(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ù)類型既可以是固定長度的(Binary),也可以是變長度的。
      Binary[(n)] 是 n 位固定的二進(jìn)制數(shù)據(jù)。其中,n 的取值范圍是從 1 到 8000。其存儲(chǔ)窨的大小是 n + 4 個(gè)字節(jié)。
      Varbinary[(n)] 是 n 位變長度的二進(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)用程序來解釋。例如,應(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 是變長字符數(shù)據(jù),其長度不超過 8KB。Char 是定長字符數(shù)據(jù),其長度最多為 8KB。超過 8KB 的ASCII 數(shù)據(jù)可以使用Text數(shù)據(jù)類型存儲(chǔ)。例如,因?yàn)?Html 文檔全部都是 ASCII 字符,并且在一般情況下長度超過 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安裝過程中,允許選擇一種字符集。使用 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)列的長度變化時(shí),應(yīng)該使用Nvarchar 字符類型,這時(shí)最多可以存儲(chǔ) 4000 個(gè)字符。當(dā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ù)來確定。
      在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ù)類型包括前面沒有提過的數(shù)據(jù)類型。特殊的數(shù)據(jù)類型有3種,即    Timestamp、Bit 和 Uniqueidentifier。
      Timestamp 用于表示SQL Server 活動(dòng)的先后順序,以二進(jìn)投影的格式表示。Timestamp 數(shù)據(jù)與插入數(shù)據(jù)或者日期和時(shí)間沒有關(guān)系。
      Bit 由 1 或者 0 組成。當(dāng)表示真或者假、ON 或者 OFF 時(shí),使用 Bit 數(shù)據(jù)類型。例如,詢問是否是每一次訪問的客戶機(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ù)類型、長度和可空性時(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 語句。系統(tǒng)存儲(chǔ)過程 sp_addtype 可以來創(chuàng)建用戶定義的數(shù)據(jù)類型。其語法形式如下:
      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)引起來,例如'NULL'、'NOT NULL'或者'NONULL'。
      例子:
      Use cust
      Exec sp_addtype ssn,'Varchar(11)',"Not Null'
      創(chuàng)建一個(gè)用戶定義的數(shù)據(jù)類型 ssn,其基于的系統(tǒng)數(shù)據(jù)類型是變長為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ù)類型不能刪除。

    SQL SERVER的字段類型說明

      以下為SQL SERVER7.0以上版本的字段類型說明。SQL SERVER6.5的字段類型說明請(qǐng)參考SQL SERVER提供的說明。

    字段類型描述

     bit 0或1的整型數(shù)字

     int 從-2^31(-2,147,483,648)到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ù)字

     numeric decimal的同義詞

      

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

     smallmoney 從-214,748.3648到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月6日的日期和時(shí)間數(shù)據(jù),最小時(shí)間單位為分鐘

      

     timestamp 時(shí)間戳,一個(gè)數(shù)據(jù)庫寬度的唯一數(shù)字

     uniqueidentifier 全球唯一標(biāo)識(shí)符GUID

      

     char 定長非Unicode的字符型數(shù)據(jù),最大長度為8000

     varchar 變長非Unicode的字符型數(shù)據(jù),最大長度為8000

     text 變長非Unicode的字符型數(shù)據(jù),最大長度為2^31-1(2G)

      

     nchar 定長Unicode的字符型數(shù)據(jù),最大長度為8000

     nvarchar 變長Unicode的字符型數(shù)據(jù),最大長度為8000

     ntext 變長Unicode的字符型數(shù)據(jù),最大長度為2^31-1(2G)

      

     binary 定長二進(jìn)制數(shù)據(jù),最大長度為8000

     varbinary 變長二進(jìn)制數(shù)據(jù),最大長度為8000

     image 變長二進(jìn)制數(shù)據(jù),最大長度為2^31-1(2G)

    發(fā)表評(píng)論 共有條評(píng)論
    用戶名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    主站蜘蛛池模板: 孟州市| 临高县| 扶沟县| 晋中市| 元氏县| 衡水市| 景谷| 日照市| 昆明市| 沙雅县| 手游| 包头市| 吐鲁番市| 平顺县| 六盘水市| 澄江县| 百色市| 江都市| 松溪县| 平泉县| 东兰县| 元朗区| 扎鲁特旗| 得荣县| 镇坪县| 宁安市| 松江区| 叙永县| 普格县| 苍山县| 铁岭县| 平罗县| 日照市| 临西县| 龙州县| 新竹县| 安福县| 百色市| 合江县| 资兴市| 丰都县|