SQL Server 中易混淆的資料型別(轉)
SQL Server 中易混淆的資料型別(轉)[@more@](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。
(5)float和real
float:從-1.79^308到1.79^308之間的浮點數字資料。
real:從-3.40^38到3.40^38之間的浮點數字資料。在SQL Server中,real的同義詞為float(24)。
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。
(5)float和real
float:從-1.79^308到1.79^308之間的浮點數字資料。
real:從-3.40^38到3.40^38之間的浮點數字資料。在SQL Server中,real的同義詞為float(24)。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-960718/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql server 資料型別轉換函式SQLServer資料型別函式
- SQL Server資料庫中的資料型別隱式轉換問題SQLServer資料庫資料型別
- SQL Server-資料型別SQLServer資料型別
- SQL Server日期資料型別DATE的使用SQLServer資料型別
- SQL Server中datetimeset轉換datetime型別問題淺析SQLServer型別
- Java 泛型中易混淆的地方Java泛型
- SQL SERVER與C#的資料型別對應表SQLServerC#資料型別
- JS中其他資料型別轉為number資料型別的方法JS資料型別
- SQL 資料型別SQL資料型別
- SQL SERVER 日期和時間資料型別及函式 (Transact-SQL)SQLServer資料型別函式
- 【SQL】18 SQL NULL 函式、SQL 通用資料型別、SQL 用於各種資料庫的資料型別SQLNull函式資料型別資料庫
- 關於Sql server資料型別HierarchyID 資料型別用法和遞迴顯示完整路徑SQLServer資料型別遞迴
- JS中資料型別轉換JS資料型別
- 資料型別,型別轉換資料型別
- SQL 常見資料型別SQL資料型別
- SQL教程——常見的資料型別SQL資料型別
- C# 泛型中的資料型別判定與轉換C#泛型資料型別
- 3. php資料型別、資料型別轉換PHP資料型別
- 【轉】ORACLE資料型別Oracle資料型別
- 資料型別轉換資料型別
- JS資料型別的轉換JS資料型別
- Java資料型別及型別轉換Java資料型別
- Java中的基本資料型別與引用資料型別Java資料型別
- SQL Server資料庫基礎之行資料轉換為列資料SQLServer資料庫
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- JS裡的資料型別轉換JS資料型別
- JS 裡的資料型別轉換JS資料型別
- JavaScript 資料型別轉換JavaScript資料型別
- javascript資料型別轉換JavaScript資料型別
- 【Java】資料型別轉換Java資料型別
- JSON 資料型別(轉載)JSON資料型別
- 資料型別及轉換資料型別
- 基本資料型別轉化資料型別
- Java中的資料型別Java資料型別
- javascript中的資料型別JavaScript資料型別
- SQL Server 2016關係型資料庫概覽AZSQLServer資料庫
- DataGear 變更部署資料庫為SQL Server填坑指南(含轉寫後的SQL server程式碼及SQL server配置檔案)資料庫SQLServer
- sql學習(mysql)(1)資料型別MySql資料型別
- JAVA中基本資料型別和引用資料型別Java資料型別