數值型數據
1. BIGINT
可以存放-263~263-1范圍內的整型數據。占用8字節,其中63位用於存儲數字,1位用於表示正負。
2. INT
也可寫作INTeger,可以存儲從-231~231-1范圍內的全部整數。占用4字節,其中31位用於存儲數字,1位用於表示正負。
3. SMALLINT
可以存儲-215~215-1范圍內的所有整數。占用2字節,其中15位用於存儲數組,1位用於表示正負。
4. TINYINT
可以存儲0~255范圍內的所有整數。占用1字節。
5. DECIMAL和NUMERIC
在SQL Server中,decimal和numeric型數據的最高精度的可以達到38位,也就是說必須在-1038-1~1038-1之間。格式為:Decimal(n,d)或Numeric(n,d),其中n為總的位數,d為小數位數。
6. FLOAT和REAL
FLOAT 型數據范圍為-1.79E+38~1.79E+38,REAL型數據范圍為-3.40E+38~3.40E+38。其中FLOAT可采用科學計數法表示,格式為FLOAT(n),n必須在1~53之間。
貨幣型數據
1. MONEY
存儲的貨幣值由2個4字節整數構成,前面一個4字節表示貨幣值的整數部分,后面一個4字節表示貨幣值的小數部分。存儲貨幣值的范圍是-263~263-1,可以精確到萬分之一貨幣單位。
2. SMALLMONEY
存儲的貨幣值由2個2字節整數構成,前面一個2字節表示貨幣值的整數部分,后面一個2字節表示貨幣值的小數部分。存儲貨幣值的范圍是-214 748.3648 ~ +214 748.3647,也可以精確到萬分之一貨幣單位。
字符型數據
1. CHAR
每個字符占用1字節存儲空間。使用固定長度來存儲字符,最長可以容納8000個字符。
利用CHAR數據類型來定義表列或者定義變量時,應該給定數據的最大長度。如果實際數據的字符長度短於給定的最大長度,則多余的字節會用空格填充。如果實際數據的字符長度超過了給定的最大長度,則超過的字符將會被截斷。在使用字符型常量為字符數據類型賦值時,必須使用單引號(')將字符型常量括起來。
2. VARCHAR
VARCHAR數據類型的使用方式與CHAR數據類型類似。SQL Server 利用VARCHAR數據類型來存儲最長可以達到8000字符的變長字符。與CHAR 數據類型不同,VARCHAR數據類型的存儲空間隨存儲在表列中的每一個數據的字符數的不同而變化。
VARCHAR在數據沒有達到預定長度時不會在多余的字節上填充空格。
當存儲列中數據的值大小經常變化時,使用VARCHAR數據類型可以有效地節省空間。
3. TEXT
當要存儲的字符型數據非常龐大以至於8000字節完全不夠用時,CHAR和VARCHAR數據類型都失去了作用。這時應該選擇TEXT數據類型。
Text數據類型專門用於存儲數量龐大的變長字符數據。最大長度可以達到231-1個字符,約2GB。
日期/時間數據類型
1. DATETIME
范圍為1753年1月1日~9999年12月31日,可以精確到千分之一秒。占用8字節存儲空間。
2. SMALLDATETIME
范圍為1900年1月1日~2079年6月6日,可以精確到分。占用4字節存儲空間。