SQL Server 中的25種資料型別

iSQlServer發表於2010-09-10

二進位制型別

1、Binary[(n)]

為固定的二進位制,n的取值範圍為1-8000

2、Varbinary

為可變長度的二進位制,n的取值範圍為1-8000

3、Image
可變長度的二進位制資料,其最大長度為 2^31 - 1 (2,147,483,647) 個位元組

字元資料型別

4、Char

定長字元資料,最大不超過8KB

5、Varchar

可變長字元資料,最大不超過8KB

6、Text

text最多為2^31減去1個符號
Unicode資料型別

Unicode資料1個字元佔2個位元組空間,比較佔空間,

非Unicode資料據1個字元佔1個位元組空間

Unicode標準是國際通用的

7、Nchar

長度固定不變,最大為4000字元

8、Nvarchar

長度可變,最大為4000字元

9、Ntext

長度固定不變,最大長度為 230 - 1 (1,073,741,823) 個字元 

日期和時間資料型別

10、DateTime

set DateFormat|日期順序,可為DMY,DYM,MDY,MYD,YDM,YMD

預設為MDY

11、Smalldatetime

短時間型別,只顯示年月日

數字資料型別

12、Int

範圍為 -2 147 483 648 到 2 147 483 647(每一個值要求4個位元組儲存空間)

13、Tinyint

儲存資料的範圍是從0 到255(每一個值要求1個位元組儲存空間)

14、Smallint

儲存資料的範圍從 -32 768 到 32 767(每一個值要求2個位元組儲存空間)

15、Decimal

精確小數資料,資料所佔的儲存空間根據該資料的位數後的位數來確定

16、Numeric

精確小數資料,資料所佔的儲存空間根據該資料的位數後的位數來確定

17、Float

當使用近似資料型別時能準確表示。因此,從系統中檢索到的資料可能與儲存在該列中資料不完全一樣

18、Real

當使用近似資料型別時能準確表示。因此,從系統中檢索到的資料可能與儲存在該列中資料不完全一樣、

 

19、Money

Money資料型別要求 8 個儲存位元組

20、Smallmoney

Smallmoney 資料型別要求 4 個儲存位元組

特殊資料型別

21、Timestamp

 用於表示SQL Server 活動的先後順序,以二進投影的格式表示。Timestamp 資料與插入資料或者日期和時間沒有關係

22、Bit

 由 1 或者 0 組成。當表示真或者假、ON 或者 OFF 時,使用 Bit 資料型別。

23、Uniqueidentifier

由 16 位元組的十六進位制數字組成,表示一個全域性唯一的。當表的記錄行要求唯一時,GUID是非常有用

24、使用者定義的資料型別

使用者定義的資料型別基於在 Microsoft SQL Server 中提供的資料型別。當幾個表中必須儲存同一種資料型別時,並且為保證這些列有相同的資料型別、長度和可空性時,可以使用使用者定義的資料型別。例如,可定義一種稱為 postal_code 的資料型別,它基於 Char 資料型別。

25、sysname 資料型別用於表列、變數以及用於儲存物件名的儲存過程引數。sysname 的精確定義與識別符號規則有關。因此,它可能會因 SQL
Server 例項的不同而有所不同。除了 sysname 在預設情況下為 NOT NULL 之外,sysname 的功能與
nvarchar(128) 相同。在早期版本的 SQL Server 中,sysname 被定義為 varchar(30)
這個可
以在一些系統表中看到(如sysobjects表的name欄位就是sysname型別的)的,因此sysname型別直接決定了tablename的字
符空間,如6.5之前的表名不支援中文,而2000以後的表名就支援中文,就是因為sysname再兩個版本中的含義不一樣
table_name、
column_name等可以是由使用者自己輸入的符合sysname型別的的資料,說明這些名稱是sysname型別的,因此,這些名稱你可以使用
nvarchar(128)的任意字串;而資料型別(如column1_datatype)、主鍵標示(如columns_in_primary_key)等就不是sysname型別的,區別就在這裡

25、cursor
    這是變數或儲存過程 OUTPUT 引數的一種資料型別,這些引數包含對遊標的引用。使用 cursor 資料型別建立的變數可以為空。
    有些操作可以引用那些帶有 cursor 資料型別的變數和引數,這些操作包括:
DECLARE @local_variable 和 SET @local_variable 語句。
OPEN、FETCH、CLOSE 及 DEALLOCATE 遊標語句。
儲存過程輸出引數。
CURSOR_STATUS 函式。
sp_cursor_list、sp_describe_cursor、sp_describe_cursor_tables 以及 sp_describe_cursor_columns 系統儲存過程。
  #重要  對於 CREATE TABLE 語句中的列,不能使用 cursor 資料型別。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-673139/,如需轉載,請註明出處,否則將追究法律責任。

相關文章