sql server數據庫中 smallint, int ,bigint ,tinyint的區別與長度


smallint  是一種精確的數值數據類型,其精度在算術運算后不變,采用2個字節編碼

 有符號的 smallint 值的范圍是 -2^15-------2^15 -1,即 -32768 ----32767

 無符號的 smallint 值的范圍是 0-------2^16 -1,即 0----65535,

int 數據類型存儲為 4字節整數,取值范圍 -2^31---2^31,所以在考慮最大數據范圍的前提下,優先考慮使用smallint類型。

在int 數據類型支持范圍的數字常量仍被解釋為numeric ,這些數字的小數位數為0,其精度為足以保存所指定的值。

bigint 可以精確的表示從 -2^63------2^63-1 之間的整數,數據類型存儲為8字節存儲空間,當bigint值在int數據類型支持的范圍內時, sql server 才將

bigint 隱式轉換成int, 如果bigint 表達式包含了一個在int 數據類型支持范圍之外的值,就會在運行時出現轉換錯誤。

在數據類型優先表中,bigint 數據類型位於int之上, smallint之下

tinyint 如果字段設置為unsigned, 只能存儲從0 到255之間的整數,不能用來存儲負數

  如果字段沒有設置為unsigned, 將會存儲 -128 到127之間的數

 tinyint 存儲采用1個字節  

通常, 為了節省空間,應該盡可能的使用最小的整型數據,這些整型類型看起來差別不大,但是在比較大的表中,字節數的增長是很快的。

另一方面,一旦你已經創建了一個字段,要修改它是很困難的。因此,為安全起見,你應該預測一下,一個字段所需要存儲的數值最大有可能是多大,然后選擇適當的數據類型。

本博客是自己在學習和工作途中的積累與總結,僅供自己參考,也歡迎大家轉載,轉載時請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM