天天看點

SQL Server常見資料類型介紹

資料表是由多個列組成,建立表時必須明确每個列的資料類型,以下列舉SQL Server常見資料類型的使用規則,友善查閱。

整數類型

int

 存儲範圍是-2,147,483,648到2,147,483,647之間的整數,主鍵列常設定此類型。

(每個數值占用 4位元組)

smallint

 存儲範圍是-32,768 到 32,767 之間的整數,用來存儲限定在特定數值範圍内的資料。

(每個數值占用 2 位元組)

tinyint

 存儲範圍是0到255 之間的整數,用來存儲有限數目的數值。

(每個數值占用 1 位元組)

bigint

 存儲範圍是-9,223,372,036,854,775,808到 9,223,372,036,854,775,807之間的整數。

(每個數值占用 8 位元組)

bit  值隻能是0或1,當輸入0以外的其他值時,系統均把它們當1看待。常用來表示真假、男女等二值選擇。

數值類型

decimal(p,s)  p 為精度(有效位),表示可儲存數值的最大位數,小數點左右兩側都包括在内,預設最大位為38 位;s為小數位數,辨別小數點後  面所能儲存的最大位數,預設最小位為0位。如:123.45,則 p=5,s=2(記憶體大小取決于精度p)
numeric(p,s)  numeric 和 decimal 是功能相同的,同是用來儲存精度可變的浮點型資料。
float

 浮點型,它是一種近似數值類型,float(n)可儲存1-53的可變精度浮點數值。

(記憶體大小取決于精度n)

money

 貨币型,能存儲從-9220 億到 9220 億之間的資料,精确到小數點後四位。

(每個數值占用 8 位元組)

日期時間

datetime  儲存有效日期範圍是1753/1/1~9999/12/31,可精準到3.33毫秒。(每個數值占用 8 位元組)
smalldatetime  儲存有效日期範圍是1900/1/1~2079/6/6,精确到分鐘。(每個數值占用 4 位元組)

二進制類型

image  雖然類型名為image, 但是并不意味着隻能儲存圖檔二進制資料,實際上它可以儲存任何二進制資料。

字元串類型

char(m)  固定長度字元串,長度為 m。
nchar(m)  國際化固定長度字元串,長度為 m。
varchar(m)  可變長度字元串,最大長度為m,且必須是一個介于 1 和 8,000 之間的數值。
nvarchar(m)  國際化可變長度字元串,最大長度為m, 且必須是一個介于 1 和 4,000 之間的數值。
text  可變長度字元串,最大長度為 231 - 1個位元組。
ntext  國際化可變長度字元串,最大長度為 230 - 1個字元。
  國際化就是通用與标準。char、varchar、text儲存的字元是基于ASCII編碼格式,對于其他編碼格式的字元可能會造成存儲問題。 Unicode 字元集(萬國碼)就是為了解決字元集這種不相容的問題而産生的,它所有的字元都用兩個位元組表示,即英文字元也是用兩個位元組表示。nchar、 nvarchar、ntext存儲的正是Unicode編碼格式的字元。是以一般來說,如果含有中文字元,用nchar、nvarchar、ntext, 如果隻含英文字元,就用char、varchar、text。