SQL 2005 中新的資料型別

iDotNetSpace發表於2008-09-26

SQL 2005 中新的資料型別

  1.用varchar(max)代替text。varchar的最大長度為8000,但是varchar(max)則可以儲存多達2G的資料,因此其作用相當於SQL 2000中的text。但是微軟可能會後續的SQL Server版本中移除text型別,從現在就應該用varchar(max) 來代替text。

   2.增加了XML資料型別,儲存XML資料的列不需要用 varchar(max)或nvarchar(max),而應當用xml資料型別,以利用T-SQL中專門針對xml資料列的新命令,以及針對xml列的索引

  3. 用binary(max)代替image.

  4.可以使用字串函式對CLOB型別進行操作

 

  5. 其他:

  1) char、varchar、text和nchar、nvarchar、ntext

  char和varchar的長度都在1到8000之間,它們的區別在於char是定長字元資料,而varchar是變長字元資料。所謂定長就是長度固定的,當輸入的資料長度沒有達到指定的長度時將自動以英文空格在其後面填充,使長度達到相應的長度;而變長字元資料則不會以空格填充。 text儲存可變長度的非Unicode資料,最大長度為2^31-1(2,147,483,647)個字元。 後面三種資料型別和前面的相比,從名稱上看只是多了個字母"n",它表示儲存的是Unicode資料型別的字元。寫過程式的朋友對Unicode應該很瞭解。字元中,英文字元只需要一個位元組儲存就足夠了,但漢字眾多,需要兩個位元組儲存,英文與漢字同時存在時容易造成混亂,Unicode字符集就是為了解決字符集這種不相容的問題而產生的,它所有的字元都用兩個位元組表示,即英文字元也是用兩個位元組表示。nchar、nvarchar的長度是在1到4000之間。和char、varchar比較:nchar、nvarchar則最多儲存4000個字元,不論是英文還是漢字;而char、varchar最多能儲存8000個英文,4000個漢字。可以看出使用nchar、nvarchar資料型別時不用擔心輸入的字元是英文還是漢字,較為方便,但在儲存英文時數量上有些損失。

  2)datetime和smalldatetime

  datetime:從1753年1月1日到9999年12月31日的日期和時間資料,精確到百分之三秒。 smalldatetime:從1900年1月1日到2079年6月6日的日期和時間資料,精確到分鐘。

  3)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的整數資料。

  4)decimal和numeric

  這兩種資料型別是等效的。都有兩個引數:p(精度)和s(小數位數)。p指定小數點左邊和右邊可以儲存的十進位制數字的最大個數,p必須是從 1到38之間的值。s指定小數點右邊可以儲存的十進位制數字的最大個數,s必須是從0到p之間的值,預設小數位數是0。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-464483/,如需轉載,請註明出處,否則將追究法律責任。

相關文章