sql server 中的資料型別

2021-08-22 09:52:05 字數 3125 閱讀 8331

資料型別

字串的長度

最多字元個數

儲存char(n)

固定長度

8000

defined width

varchar(n)

可變長度

8000

2bytes+number of chars

varchar(max)

可變長度

1073741824

2bytes+number of chars

text

可變長度

2gb4bytes+number of chars

nchar

固定長度的unicode

4000

defined width*2

nvarchar

可變長度的unicode

4000

ntext

可變長度的unicode

536870912

binary(n)

固定長度的二進位制字串

8000

varbinary

可變長度的二進位制字串

8000

varbinary(max)

可變長度的二進位制字串

2gbimage

可變長度的二進位制字串

2gbbit

允許0、1或null     類似於bool

varchar、nvarchar和ntext的區別:

而varchar是非unicode的,所以只有除英文之外的字串占用位元組的實際長度,而不是 n 個位元組。(n 必須是乙個介於 1 和 8,000 之間的數值。)

nvarchar是unicode型別的字串,為了解決字元衝突,但是它儲存的時候,每個字元所佔的都是位元組的儲存大小是所輸入字元個數的兩倍。(n 的值必須介於 1 與 4,000 之間。)

ntext和nvarchar的區別是,nvarchar的限定值在1到4000,而ntext沒有限定值,只要在2g的儲存空間的之內就可以。

ps:

(unicode(統一碼、萬國碼、單一碼)是電腦科學領域裡的一項業界標準,包括字符集、編碼方案等。unicode 是為了解決傳統的字元編碼方案的侷限而產生的,它為每種語言中的每個字元設定了統一並且唯一的二進位制編碼,以滿足跨語言、跨平台進行文字轉換、處理的要求。)

資料型別

描述儲存

tinyint

允許從 0 到 255 的所有數字。

1位元組smalint

允許介於 -32,768 與 32,767 的所有數字。

2位元組int

允許介於 -2,147,483,648 與 2,147,483,647 的所有數字。

4位元組bigint

允許介於 -9,223,372,036,854,775,808 與 9,223,372,036,854,775,807 之間的所有數字。

8位元組decimal(p,s)

固定精度和比例的數字。 允許從 -10^38 +1 到 10^38 -1 之間的數字。

p 引數指示可以儲存的最大位數(小數點左側和右側)。p 必須是 1 到 38 之間的值。預設是 18。

s 引數指示小數點右側儲存的最大位數。s 必須是 0 到 p 之間的值。預設是 0。

5-17位元組

numeric(p,s)

固定精度和比例的數字。 允許從 -10^38 +1 到 10^38 -1 之間的數字。

p 引數指示可以儲存的最大位數(小數點左側和右側)。p 必須是 1 到 38 之間的值。預設是 18。

s 引數指示小數點右側儲存的最大位數。s 必須是 0 到 p 之間的值。預設是 0。

5-17位元組

smallmoney

介於 -214,748.3648 與 214,748.3647 之間的貨幣資料。

4位元組money

介於 -922,337,203,685,477.5808 與 922,337,203,685,477.5807 之間的貨幣資料。

8位元組float(n)

從 -1.79e + 308 到 1.79e + 308 的浮動精度數字資料。 n 引數指示該欄位儲存 4 位元組還是 8 位元組。float(24) 儲存 4 位元組,而 float(53) 儲存 8 位元組。n 的預設值是 53。

4位元組或8個位元組

real

從 -3.40e + 38 到 3.40e + 38 的浮動精度數字資料。

4位元組資料型別

描述儲存

datetime

從 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度為 3.33 毫秒。

8位元組datetime2

從 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度為 100 納秒。

6-8位元組

smalldatetime

從 1900 年 1 月 1 日 到 2079 年 6 月 6 日,精度為 1 分鐘。

4位元組date

僅儲存日期。從 0001 年 1 月 1 日 到 9999 年 12 月 31 日。

3bytes

time(7)

僅儲存時間。精度為 100 納秒。

3-5位元組

datetimeoffset

與 datetime2 相同,外加時區偏移。

8-10位元組

timetamp

儲存唯一的數字,每當建立或修改某行時,該數字會更新。timestamp 值基於內部時鐘,不對應真實時間。每個表只能有乙個 timestamp 變數。注:

1. time之後()裡的7(預設)代表它的精度,如果你想顯示出來的時間為時分秒的話,可以將其設定為0

2. date和datetime都是有起始時間限制的,所以我們在設計資料庫的時候需要注意這一點

資料型別

描述sql_variant

儲存最多 8,000 位元組不同資料型別的資料,除了 text、ntext 以及 timestamp。

uniqueidentifier

儲存全域性唯一識別符號 (guid)。

xml儲存 xml 格式化資料。最多 2gb。

cursor

儲存對用於資料庫操作的指標的引用。

table

儲存結果集,供稍後處理。

SQL Server 中的資料型別

1.精確數字型別 bigintbigint 可以精確的表示從 2 63到2 63 1 即從 9,223,372,036,854,775,808到 9,223,372,036,854,775,807 之間的整數,它占用了八個位元組的儲存空間。int int資料型別所表示的數值範圍從 2 31到2 31...

sql server中的real資料型別

float 和 real 資料型別被稱為近似資料型別。float 和 real 的使用遵循有關近似數值資料型別的 ieee 754 規範。近似數值資料型別並不儲存為許多數字指定的精確值,它們只儲存這些值的最近似值。在很多應用程式中,指定值與儲存的近似值之間的微小差異並不明顯。但有時這些差異也較明顯。...

SQL server 中的資料型別 T SQL

sql server中的資料型別,方便檢閱 資料型別 描述char n 固定長度的字串。最多 8,000 個字元。varchar n 可變長度的字串。最多 8,000 個字元。varchar max 可變長度的字串。最多 1,073,741,824 個字元。text 可變長度的字串。最多 2gb 字...