SQL Server中易混淆的數(shù)據(jù)類型
添加時間:2014-5-18 6:58:03
添加:
思海網(wǎng)絡(luò)
SQL Server中易混淆的數(shù)據(jù)類型:
(1)char、varchar、text和nchar、nvarchar、ntext
char和varchar的長度都在1到8000之間,它們的區(qū)別在于char是定長字符數(shù)據(jù),而varchar是變長字符數(shù)據(jù)。所謂定長就是長度固定的,當(dāng)輸入的數(shù)據(jù)長度沒有達(dá)到指定的長度時將自動以英文空格在其后面填充,使長度達(dá)到相應(yīng)的長度;而變長字符數(shù)據(jù)則不會以空格填充。text存儲可變長度的非Unicode數(shù)據(jù),最大長度為2^31-1(2,147,483,647)個字符。
后面三種數(shù)據(jù)類型和前面的相比,從名稱上看只是多了個字母"n",它表示存儲的是Unicode數(shù)據(jù)類型的字符。寫過程序的朋友對Unicode應(yīng)該很了解。字符中,英文字符只需要一個字節(jié)存儲就足夠了,但漢字眾多,需要兩個字節(jié)存儲,英文與漢字同時存在時容易造成混亂,Unicode字符集就是為了解決字符集這種不兼容的問題而產(chǎn)生的,它所有的字符都用兩個字節(jié)表示,即英文字符也是用兩個字節(jié)表示。nchar、nvarchar的長度是在1到4000之間。和char、varchar比較:nchar、nvarchar則最多存儲4000個字符,不論是英文還是漢字;而char、varchar最多能存儲8000個英文,4000個漢字?梢钥闯鍪褂胣char、nvarchar數(shù)據(jù)類型時不用擔(dān)心輸入的字符是英文還是漢字,較為方便,但在存儲英文時數(shù)量上有些損失。
(2)datetime和smalldatetime
datetime:從1753年1月1日到9999年12月31日的日期和時間數(shù)據(jù),精確到百分之三秒。
smalldatetime:從1900年1月1日到2079年6月6日的日期和時間數(shù)據(jù),精確到分鐘。
(3)bitint、int、smallint、tinyint和bit
bigint:從-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型數(shù)據(jù)。
int:從-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型數(shù)據(jù)。
smallint:從-2^15(-32,768)到2^15-1(32,767)的整數(shù)數(shù)據(jù)。
tinyint:從0到255的整數(shù)數(shù)據(jù)。
bit:1或0的整數(shù)數(shù)據(jù)。
(4)decimal和numeric
這兩種數(shù)據(jù)類型是等效的。都有兩個參數(shù):p(精度)和s(小數(shù)位數(shù))。p指定小數(shù)點(diǎn)左邊和右邊可以存儲的十進(jìn)制數(shù)字的最大個數(shù),p必須是從 1到38之間的值。s指定小數(shù)點(diǎn)右邊可以存儲的十進(jìn)制數(shù)字的最大個數(shù),s必須是從0到p之間的值,默認(rèn)小數(shù)位數(shù)是0。
(5)float和real
float:從-1.79^308到1.79^308之間的浮點(diǎn)數(shù)字?jǐn)?shù)據(jù)。
char和varchar的長度都在1到8000之間,它們的區(qū)別在于char是定長字符數(shù)據(jù),而varchar是變長字符數(shù)據(jù)。所謂定長就是長度固定的,當(dāng)輸入的數(shù)據(jù)長度沒有達(dá)到指定的長度時將自動以英文空格在其后面填充,使長度達(dá)到相應(yīng)的長度;而變長字符數(shù)據(jù)則不會以空格填充。text存儲可變長度的非Unicode數(shù)據(jù),最大長度為2^31-1(2,147,483,647)個字符。
后面三種數(shù)據(jù)類型和前面的相比,從名稱上看只是多了個字母"n",它表示存儲的是Unicode數(shù)據(jù)類型的字符。寫過程序的朋友對Unicode應(yīng)該很了解。字符中,英文字符只需要一個字節(jié)存儲就足夠了,但漢字眾多,需要兩個字節(jié)存儲,英文與漢字同時存在時容易造成混亂,Unicode字符集就是為了解決字符集這種不兼容的問題而產(chǎn)生的,它所有的字符都用兩個字節(jié)表示,即英文字符也是用兩個字節(jié)表示。nchar、nvarchar的長度是在1到4000之間。和char、varchar比較:nchar、nvarchar則最多存儲4000個字符,不論是英文還是漢字;而char、varchar最多能存儲8000個英文,4000個漢字?梢钥闯鍪褂胣char、nvarchar數(shù)據(jù)類型時不用擔(dān)心輸入的字符是英文還是漢字,較為方便,但在存儲英文時數(shù)量上有些損失。
(2)datetime和smalldatetime
datetime:從1753年1月1日到9999年12月31日的日期和時間數(shù)據(jù),精確到百分之三秒。
smalldatetime:從1900年1月1日到2079年6月6日的日期和時間數(shù)據(jù),精確到分鐘。
(3)bitint、int、smallint、tinyint和bit
bigint:從-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型數(shù)據(jù)。
int:從-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型數(shù)據(jù)。
smallint:從-2^15(-32,768)到2^15-1(32,767)的整數(shù)數(shù)據(jù)。
tinyint:從0到255的整數(shù)數(shù)據(jù)。
bit:1或0的整數(shù)數(shù)據(jù)。
(4)decimal和numeric
這兩種數(shù)據(jù)類型是等效的。都有兩個參數(shù):p(精度)和s(小數(shù)位數(shù))。p指定小數(shù)點(diǎn)左邊和右邊可以存儲的十進(jìn)制數(shù)字的最大個數(shù),p必須是從 1到38之間的值。s指定小數(shù)點(diǎn)右邊可以存儲的十進(jìn)制數(shù)字的最大個數(shù),s必須是從0到p之間的值,默認(rèn)小數(shù)位數(shù)是0。
(5)float和real
float:從-1.79^308到1.79^308之間的浮點(diǎn)數(shù)字?jǐn)?shù)據(jù)。
real:從-3.40^38到3.40^38之間的浮點(diǎn)數(shù)字?jǐn)?shù)據(jù)。在SQL Server中,real的同義詞為float(24)。
關(guān)鍵字:SQL Server、數(shù)據(jù)類型
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動項(xiàng)
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗(yàn)證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機(jī)IP講解
- CentOS7使用hostapd實(shí)現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯
- 解決Centos7雙系統(tǒng)后丟失windows啟動項(xiàng)
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解