標籤:text float 類型 系統 一個 大小 字元 big 小數
1.char(n)和varchar(n):
儲存非Unicode的字元資料,n代表位元組長度;n必須是一個介於1和8,000之間的數值,區別在於char(n)儲存的是固定長度的即n的大小個位元組;varchar(n)儲存的是輸入資料的實際長度,但最大長度不能超過n。
2.nchar(n)和nvarchar(n):
儲存Unicode的字元資料(Unicode所有的字元都用兩個位元組表示,即英文字元也是用兩個位元組表示),n代表字元長度;n必須是一個介於1和4,000之間的數值,區別在於nchar(n)儲存的是固定長度即n*2個位元組;nvarchar(n)儲存的是輸入字元的實際長度*2個位元組但輸入字元的最大長度不能超過n。
3.text和ntext:
text儲存可變長度的非Unicode資料,最大長度為2^31-1(2,147,483,647)個位元組;ntext儲存可變長度的Unicode資料,最大長度為2^30-1(1,073,741,823)個字元。
4.varchar(max)和text與nvarchar(max)和ntext:
varchar(max)和nvarchar(max)的作用分別相當於text和ntext,varchar(max)最多可以儲存多達2G的資料(以後得版本可能會更多),但是text和ntext不支援"="、"left()"、"like"等操作而varchar(max)和nvarchar(max)支援,並且以後得SQL Server中微軟可能移除text和ntext類型,所以應該用varchar(max)和nvarchar(max)取代text和ntext。
5.datetime和smalldatetime:
datetime:從1753年1月1日到9999年12月31日的日期和時間資料,精確到百分之三秒。
smalldatetime:從1900年1月1日到2079年6月6日的日期和時間資料,精確到分鐘。
6.bitint、int、smallint、tinyint和bit:
bigint:從-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型資料。
int:從-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型資料。
smallint:從-2^15(-32,768)到2^15-1(32,767)的整數資料。
tinyint:從0到255的整數資料。
bit:1或0的整數資料。
7.decimal和numeric:
decimal和numeric是等效的,decimal 資料類型最多可儲存 38 個數字,所有數字都能夠放到小數點的右邊;定義 decimal 的列、變數和參數的兩種特性如下:
p:小數點左邊和右邊數字之和,不包括小數點;s :指定可放到小數點右邊的小數位元或數字個數;
如 123.45,則 p=5,s=2。
p 和 s 必須遵守以下規則:0 <= s <= p <= 38。
8.float和real:
float:從-1.79^308到1.79^308之間的浮點數字資料。
real:從-3.40^38到3.40^38之間的浮點數字資料。在SQL Server中,real的同義字為float(24)。
9.國際化:
管理國際資料庫中的字元資料的最簡單方法是始終使用 Unicode的 nchar、nvarchar 和 nvarchar(max) 資料類型,而不使用它們對應的非 Unicode 資料類型:char、varchar 和 text。這樣,用戶端與所有其他用戶端所看到的資料中的字元將是相同的。如果所有使用國際資料庫的應用程式還使用 Unicode 變數來代替非 Unicode 變數,則不需要在系統中的任何位置執行字元轉換。
SQL server的資料類型