sql server 2008 數據庫數據類型


sql server 2008 數據庫數據類型

一、數值型

  1. int:整數類型,它的精度由執行機構確定。。
  2. smallint:短整數類型,它的精度由執行機構確定。。
  3. numeric(p,s):數值型,並給定精度p(總的有效位)或標度s(十進制小數點右邊的位數)。
  4. float:浮點型數值型,其精度等於或大於給定的精度p。
  5. eral:浮點數值型,它的精度由執行機構確定。。
  6. double:雙精度浮點型,它的精度由執行機構確定。

二、字符類型

1.char:char存儲定長數據很方便,CHAR字段上的索引效率級高,比如定義char(10),那么不論你存儲的數據是否達到了10個字節,都要占去10個字節的空間。

2.VARCHAR:存儲變長數據,但存儲效率沒有CHAR高。如果一個字段可能的值是不固定長度的,我們只知道它不可能超過10個字符,把它定義為 VARCHAR(10)是最合算的。

區別: varchar比char節省空間,但在效率上比char差一些。
varchar是可變字符串,比如:用varchar(5)存儲字符串“abc”,只占用3個字節的存儲空間,而用char(5)存儲,則占用5個字節(“abc ”)。

3.NCHAR、NVARCHAR:從名字上看比前面三種多了個“N”。它表示存儲的是Unicode數據類型的字符。我們知道字符 中,英文字符只需要一個字節存儲就足夠了,但漢字眾多,需要兩個字節存儲,英文與漢字同時存在時容易造成混亂,Unicode字符集就是為了解決字符集這 種不兼容的問題而產生的,它所有的字符都用兩個字節表示,即英文字符也是用兩個字節表示。

區別varchar按字節存儲數據
varchar(6),最多能存儲6個字節的數據,比如:“哈哈哈”,“abcdef”......

nvarchar按字符存儲數據
nvarchar(6),最多能存儲6個字符/中文數據,比如:"哈哈哈哈哈哈",“abcdef”......
nvarchar(m)最大存儲的實際字節長度=n*m(n跟據編碼方式而定),如果nvarchar存儲的是英文字符,也是根據編碼方式存儲n的字節長度。也就是說,如果用nvarchar存儲英文字符,會浪費一半以上的存儲空間....

正常情況下,我們使用varchar也可以存儲中文字符,但是如果遇到操作系統是英文操 作系統並且對中文字體的支持不全面時, 在SQL Server存儲中文字符為varchar就會出現亂碼(顯示為??).而且正常情況下,主機都會支持中文的環境,所以如果使用varchar來存儲數 據,在開發階段是發現不了的.多數情況下,在布署的時候也不會有問題.如果布署的主機是英文操作系統,並且不支持中文環境,那問題就出來了.

三、位串型

1.bit(n):定義二進制位串,長度為n。

2.bit varying(n):可變長二進制位串,最大長度為n。

四、時間型

datetime:定義一個日期類型,日期和時間數據由有效的日期或時間組成。

五、布爾型

boolean:定義布爾數,其值可以是true或false。


免責聲明!

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



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