久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    sql數據類型詳解

     iversion 2008-09-25
    sql數據類型詳解
    2008-09-09 11:36
    (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)


    Access 數據類型與 MS SQL 數據類型的相應

    文本 nvarchar(n)

    備注 ntext

    數字(長整型) int

    數字(整型) smallint

    數字(單精度) real

    數字(雙精度) float

    數字(字節) tinyint

    貨幣 money

    日期 smalldatetime

    布爾 bit

     

    下表比較了 Microsoft Access 數據庫 (Microsoft Access 數據庫:數據和對象(如表、查詢或窗體)組成的集合,與特定的主題或用途有關。Microsoft Jet 數據庫引擎用于管理數據。)和 Microsoft Access 項目 (Microsoft Access 項目:與 Microsoft SQL Server 數據庫連接且用于創建客戶/服務器應用程序的 Access 文件。項目文件中不包含任何數據或基于數據定義的對象(如表或視圖)。)的數據類型 (數據類型:決定字段可擁有的數據類型的字段特征。數據類型包括 Boolean、Integer、Long、Currency、Single、Double、Date、String 和 Variant(默認))。
      
      Microsoft Access 數據類型 SQL Server 數據類型
      是/否 (“是/否”數據類型:一種字段數據類型,用于只有兩種可能值(如是或否、True 或 False)的字段。不允許有 Null 值。) bit (bit 數據類型:在 Access 項目中,一種存儲值為 1 或 0 的數據類型。接受 1 和 0 以外的整數值,但總是將其解釋為 1。)
      數字 (“數字”數據類型:Microsoft Access 數據庫中的一種字段數據類型,用于將在數學運算中使用的數值數據。但是,若要顯示或計算貨幣值,則應使用“貨幣”數據類型。)(字節) tinyint (tinyint 數據類型:Access 項目中的一種占一個字節(8 位)的數據類型,用于存儲從 0 到 255 范圍內的整數。)
      數字(整型) smallint (smallint 數據類型:Access 項目中的一種 2 字節(16 位)數據類型,存儲位于 -2^15 (-32,768) 與 2^15 - 1 (32,767) 之間的數字。)
      數字(長整型) int (int 數據類型:Access 項目中的一種 4 字節(32 位)數據類型,存儲位于 -2^31 (-2,147,483,648) 與 2^31 - 1 (2,147,483,647) 之間的數字。)
      數字(單精度浮點型) real (real 數據類型:在 Access 項目中,一種近似的數值數據類型,精度為 7 位,正值取值范圍大致從 1.18E - 38 到 3.40E + 38,負值取值范圍大致從 -1.18E - 38 到 -3.40E + 38,也可以取 0。)
      (無等價的數據類型) bigint (bigint 數據類型:Access 項目中的一種 8 字節(64 位)數據類型,存儲位于 -2^63 (-9,223,372,036,854,775,808) 與 2^63-1 (9,223,372,036,854,775,807) 之間的數字。)
      數字(雙精度浮點型) float (float 數據類型:在 Access 項目中,一種近似的數值數據類型,精度為 15 位。它所存儲的正值范圍大致是從 2.23E - 308 到 1.79E + 308,負值范圍大致是從 - 2.23E - 308 到 -1.79E + 308,也可以為 0。)
      貨幣 (“貨幣”數據類型:Microsoft Access 數據庫中的一種數據類型,用于與貨幣有關的計算或其精確度極其重要的定點計算。) money (money 數據類型:在 Access 項目中,用于存儲貨幣值的數據類型,取值范圍從 - 922,337,203,685,477.5707 到 922,337,203,685,477.5807,精確度為萬分之一個貨幣單位。)
      
      smallmoney (smallmoney 數據類型:Access 項目中的一種存儲貨幣值的數據類型,取值范圍從 -214,748.3648 到 214,748.3647,精確度為萬分之一個貨幣單位。當顯示 smallmoney 值時,會將它們四舍五入為兩個小數位。)
      小數/數值 (decimal 數據類型(Access 數據庫):精確的數值數據類型,用于存儲 -10^38 -1 到 10^38 -1 的值。可以指定數值范圍(最大總位數)和精度(小數點右邊的最大位數)。) decimal (decimal 數據類型(Access 項目):精確的數值數據類型,用于存儲 -10^38 -1 到 10^38 -1 的值。可以指定數值范圍(最大總位數)和精度(小數點右邊的最大位數)。)
      
      numeric (numeric 數據類型:在 Access 項目中,一種精確的數值數據類型,取值從 -10^38 -1 到 10^38 - 1。可以指定數值范圍(最大總位數)和精度(小數點右邊的最大位數)。)
      日期/時間 (“日期/時間”數據類型:Access 數據庫的一種數據類型,用來存放日期和時間信息。) datetime (datetime 數據類型:在 Access 項目中,日期和時間的數據類型,范圍從 1753 年 1 月 1 日到 9999 年 12 月 31 日,精確度為三百分之一秒,即 3.33 毫秒。)
      
      smalldatetime (smalldatetime 數據類型:Access 項目中的一種日期和時間數據類型,精度不如 datetime 時間數據類型。數據取值范圍從 1900 年 1 月 1 日到 2079 年 6 月 6 日,精確度為一分鐘。)
      自動編號 (“自動編號”數據類型:Microsoft Access 數據庫中的一種字段數據類型,當向表中添加一條新記錄時,這種數據類型會自動為每條記錄存儲一個唯一的編號。可以產生三種編號:順序號、隨機號和同步復制 ID。)(遞增) int (int 數據類型:Access 項目中的一種 4 字節(32 位)數據類型,存儲位于 -2^31 (-2,147,483,648) 與 2^31 - 1 (2,147,483,647) 之間的數字。)(定義了 Identity 屬性)
      文本 (“文本”數據類型:Microsoft Access 數據庫中的一種字段數據類型。“文本”數據類型最多可以包含 255 個字符,或者是由 FieldSize 屬性指定的一個小一些的字符數。) (n) varchar(n) (varchar (n) 數據類型: Access 項目中的一種可變長度的數據類型,最大長度為 8,000 個 ANSI 字符。)
      
      nvarchar(n) (nvarchar(n) 數據類型:在 Access 項目中,一種可變長度的數據類型,最多可含 4,000 個 Unicode 字符。Unicode 字符每字符占兩個字節,而且支持所有國際字符。)
      備注 (“備注”數據類型:在 Microsoft Access 數據庫中的一種字段數據類型。“備注”字段最多可以包含 65,535 個字符。) text (text 數據類型:Access 項目中的一種長度可變的數據類型,最多可存儲 2^31 -1 (2,147,483,647) 個字符;默認長度為 16。)
      OLE 對象 (“OLE 對象”數據類型:字段的數據類型之一,用于在其他應用程序中創建的、可鏈接或嵌入(插入)到 Access 數據庫中的對象。) image (image 數據類型:在 Access 項目中,一種長度可變的數據類型,最多可存儲 2^31 -1 (2,147,483,647) 字節的二進制數據。image 數據類型用來存儲 BLOB(二進制大對象),如圖片、文檔、聲音和已編譯代碼。)
      同步復制 ID(又名全局唯一標識符 (GUID:在 Access 數據庫中,一種用于建立同步復制唯一標識符的 16 字節字段。GUID 用于標識副本、副本集、表、記錄和其他對象。在 Access 數據庫中,GUID 是指同步復制 ID。) (GUID)) uniqueidentifier (uniqueidentifier 數據類型:在 Access 項目中,16 字節的全局唯一標識符 (GUID)。) (僅適于 SQL Server 7.0 或更高版本)
      超鏈接 (“超鏈接”數據類型:存儲超鏈接地址的 Access 數據庫字段的數據類型。地址最多可以包含四部分,用以下語法格式編寫:displaytext#address#subaddress#。) char (char 數據類型:在 Access 項目中,一種固定長度的數據類型,最多可含 8,000 個 ANSI 字符。),
      
      nchar (nchar 數據類型:在 Access 項目中,一種固定長度的數據類型,最多可含 4,000 個 Unicode 字符。Unicode 字符每字符占兩個字節,而且支持所有國際字符。), varchar, nvarchar(Hyperlink 屬性設為 Yes)
      (無等價的數據類型) varbinary (varbinary 數據類型:Access 項目中的一種可變長度的數據類型,最多可存儲 8,000 字節的二進制數據。)
      (無等價的數據類型) smallint (smallint 數據類型:Access 項目中的一種 2 字節(16 位)數據類型,存儲位于 -2^15 (-32,768) 與 2^15 - 1 (32,767) 之間的數字。)
      (無等價的數據類型) timestamp (timestamp 數據類型:在 Access 項目中,一種每插入或更新一行就會自動更新的數據類型。timestamp 列中的值不是 datetime 數據,而是 binary(8) 或 varbinary(8),標明了數據修改的順序。)
      (無等價的數據類型) char nchar
      (無等價的數據類型) sql_variant (sql_variant 數據類型:Access 項目中的一種數據類型,存儲除 text、ntext、image、timestamp 和 sql_variant 類型以外的多種數據類型的值。在列、參數、變量或用戶定義函數的返回值中使用。)
      (無等價的數據類型) 用戶定義 (用戶定義的數據類型:在 Microsoft SQL Server 數據庫中,允許某列包含的數據的類型定義,由用戶利用現有的系統數據類型定義。規則和默認值僅可以綁定到用戶定義的數據類型。)
      
      注釋 在 Access 項目或 SQL Server 數據庫中,前綴“n”代表“國家/地區”,意思是這個數據類型是啟用 Unicode 的。在 Access 數據庫中,全部文本列在默認情況下都是啟用 Unicode 的。

     

    Access和SQL Server數據類型各有不同,使用腳本進行數據定義時,這些類型說明還是有用。

    Microsoft Access 數據類型 SQL Server 數據類型
     Yes/No bit
     Smallint(字節型) tinyint
    Integer(長整型) int
     Real(單精度浮點型) real
     Float(雙精度浮點型) float
    Currency money
    smallmoney
    Decimal/numeric decimal
    numeric
    Date/Time datetime
    smalldatetime
    AutoNumber(增量) int(帶有定義的 Identity 屬性)
    Text (n) varchar(n)
    nvarchar(n)
    Memo text
    IMAGE(OLE Object) 圖像
    Replication ID(也稱作全球唯一標識符 (GUID)) uniqueidentifier (僅適于 SQL Server 7.0)
    Hyperlink ntext(但超級鏈接沒有激活)
    (無等價的數據類型) nchar
    (無等價的數據類型) varbinary
    (無等價的數據類型) 用戶定義
    (無等價的數據類型) smallint
    (無等價的數據類型) timestamp
    (無等價的數據類型) char
      nchar
    Access數據類型的說明
    DATETIME: 8 個字節 介于 100 到 9999 年的日期或時間數值。
    UNIQUEIDENTIFIER: 128 個位 用于遠程過程調用的唯一識別數字。
    REAL: 4 個字節 單精度浮點數,負數范圍是從 –3.402823E38 到 –1.401298E-45,正數從1.401298E-45 到 3.402823E38,和 0。
    FLOAT: 8 個字節 雙精度浮點數,負數范圍是從 –1.79769313486232E308 到 –4.94065645841247E-324,正數從 4.94065645841247E-324 到 1.79769313486232E308,和 0。
    SMALLINT: 2 個字節 介于 –32,768 到 32,767 的短整型數。
    INTEGER: 4 個字節 介于 –2,147,483,648 到 2,147,483,647 的長整型數。
    DECIMAL: 17 個字節 容納從 1028 - 1到 - 1028 - 1. 的值的精確的數字數據類型。你可以定義精度 (1 - 28) 和 符號 (0 - 定義精度)。缺省精度和符號分別是18和0。
    TEXT: 每一字符兩字節(參見注意) 從零到最大 2,14 千兆字節。
    IMAGE: 視實際需要而定 從零到最大 2,14 千兆字節。用于 OLE 對象。
    CHARACTER: 每一字符兩字節(參見注意) 長度從 0 到 255 個字符。

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: XXXXXHD亚洲日本HD| 国产AV影片麻豆精品传媒| 少妇上班人妻精品偷人| 久久天天躁狠狠躁夜夜2020老熟妇| 国产成人MV视频在线观看| 国产麻豆成人传媒免费观看| 亚洲日本韩国欧美云霸高清| 性饥渴少妇AV无码毛片| 国产精品无码av不卡| 亚洲欧洲精品专线| 强奷漂亮人妻系列老师| 亚洲欧美激情在线一区| 亚洲美免无码中文字幕在线| 久久综合九色综合97婷婷| 日韩精品人妻av一区二区三区| 欧美成人VA免费大片视频 | 午夜亚洲乱码伦小说区69堂 | 欧美人成精品网站播放| A级孕妇高清免费毛片| 性男女做视频观看网站| 国产精品爽黄69天堂A| 欧洲中文字幕一区二区| 在线天堂中文官网| 国产综合久久99久久| 欧美日韩中文国产一区发布| 免费人成网站视频在线观看| 国产午夜福利视频在线| 人人人妻人人澡人人爽欧美一区 | 2020国产欧洲精品网站| 欧美日韩中文国产一区发布| 日日摸夜夜添夜夜添无| 亚洲成人av综合一区| 亚洲精品无码AV人在线观看国产| 嫩草成人AV影院在线观看| 欧美成人精品手机在线| 久久99精品国产99久久6尤物| 久久五月丁香合缴情网| 亚洲精品一区二区制服| 国产高清不卡一区二区| 乱妇乱女熟妇熟女网站| 亚洲情A成黄在线观看动漫尤物|