SQL SERVER的字段類型說明
更新時(shí)間:2008年04月30日 18:43:58 作者:
以下為SQL SERVER 7.0以上版本的字段類型說明。SQL SERVER6.5的字段類型說明請(qǐng)參考
SQL SERVER提供的說明。
bit:0或1的整型數(shù)字
int:從-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型數(shù)字
smallint:從-2^15(-32,768)到2^15(32,767)的整型數(shù)字
tinyint:從0到255的整型數(shù)字
decimal:從-10^38到10^38-1的定精度與有效位數(shù)的數(shù)字
numeric:decimal的同義詞
money:從-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的貨幣數(shù)據(jù),最小貨幣單位千分之十
smallmoney:從-214,748.3648到214,748.3647的貨幣數(shù)據(jù),最小貨幣單位千分之十
float:從-1.79E+308到1.79E+308可變精度的數(shù)字
real:從-3.04E+38到3.04E+38可變精度的數(shù)字
datetime:從1753年1月1日到9999年12日31的日期和時(shí)間數(shù)據(jù),最小時(shí)間單位為百分之三秒或3.33毫秒
smalldatetime:從1900年1月1日到2079年6月6日的日期和時(shí)間數(shù)據(jù),最小時(shí)間單位為分鐘
timestamp:時(shí)間戳,一個(gè)數(shù)據(jù)庫(kù)寬度的唯一數(shù)字
uniqueidentifier:全球唯一標(biāo)識(shí)符GUID
char:定長(zhǎng)非Unicode的字符型數(shù)據(jù),最大長(zhǎng)度為8000
varchar:變長(zhǎng)非Unicode的字符型數(shù)據(jù),最大長(zhǎng)度為8000
text:變長(zhǎng)非Unicode的字符型數(shù)據(jù),最大長(zhǎng)度為2^31-1(2G)
nchar:定長(zhǎng)Unicode的字符型數(shù)據(jù),最大長(zhǎng)度為8000
nvarchar:變長(zhǎng)Unicode的字符型數(shù)據(jù),最大長(zhǎng)度為8000
ntext:變長(zhǎng)Unicode的字符型數(shù)據(jù),最大長(zhǎng)度為2^31-1(2G)
binary:定長(zhǎng)二進(jìn)制數(shù)據(jù),最大長(zhǎng)度為8000
varbinary:變長(zhǎng)二進(jìn)制數(shù)據(jù),最大長(zhǎng)度為8000
image:變長(zhǎng)二進(jìn)制數(shù)據(jù),最大長(zhǎng)度為2^31-1(2G)
簡(jiǎn) 介
MS的SQL Server主要是由五種常常用到的字段,字符型,文本型,數(shù)值型,邏輯型,和日期型!許多朋友苦于在一些BBS中ACCESS轉(zhuǎn)換成SQL后字段類型不匹配而不知所措,下面我們就來介紹一些這五種數(shù)據(jù)類型各自的特性吧!
正 文
[1] 字符型數(shù)據(jù)Varchar,Char型
程序當(dāng)中當(dāng)大家需要存儲(chǔ)比較短的字符串信息時(shí)我們就要用到字符型數(shù)據(jù)了,SQL中的字符型數(shù)據(jù)又有兩種型!VARCHAR和CHAR型,正兩種類型的數(shù)據(jù)差別是很細(xì)微的,但是卻很重要!
比如當(dāng)你像一個(gè)長(zhǎng)度為40個(gè)字符的VARCHAR型字段中輸入一個(gè)長(zhǎng)度為4的字符串TOL8后你再取出的數(shù)據(jù)的時(shí)候,數(shù)據(jù)的長(zhǎng)度為4個(gè)字符,而你把VARCHAR換成CHAR型,你取出的將會(huì)是40各字符長(zhǎng)度的數(shù)據(jù),字符串后會(huì)被附加多余的空格,比如TOL8只有4個(gè)字符那么從CHAR中取出的數(shù)據(jù)是TOL8加上36個(gè)空格!具體的程序設(shè)計(jì)中我個(gè)人還是推薦VARCHAR類型,因?yàn)閺囊恍﹨⒖假Y料中我發(fā)現(xiàn)上面說VARCHAR型要比CHAR占用更少的硬盤很內(nèi)存!
VARCHAR存儲(chǔ)最長(zhǎng)255個(gè)字符,超過這個(gè)長(zhǎng)度就要用到我們下面將要講到的文本型數(shù)據(jù)了。
[2] 文本型數(shù)據(jù)Text
文本型數(shù)據(jù)中你可以存儲(chǔ)超過20億個(gè)字符串,怎么樣,這個(gè)夠大了吧?但是也不是任何時(shí)候都是和使用文本型數(shù)據(jù),因?yàn)樗浅U伎臻g,也非常消耗服務(wù)器,隨處亂用后果不堪設(shè)想!因?yàn)榧词鼓阆褚粋€(gè)文本型字段輸入了一個(gè)空值他都會(huì)占用2K的空間!而當(dāng)這時(shí)除了刪除該數(shù)據(jù)沒有別的辦法收回空間!
[3] 數(shù)據(jù)型數(shù)據(jù) Int,Tinying,Numeric
SQL支持多種不同的數(shù)據(jù)類型,讓你可以存儲(chǔ)整數(shù),小數(shù),和錢數(shù)!
INT(整型數(shù)據(jù))表示范圍是從-2,147,483,647 到 2,147,483,647 的整數(shù)
如果你的數(shù)值沒有那么長(zhǎng),為了節(jié)省內(nèi)存空間你可以使用SMALLINT它的表示范圍是-32768到32768整數(shù)!二者的使用方法完全相同!
如果你還想再節(jié)省空間你可以選擇使用TINYINT他只能存儲(chǔ)0到255的整數(shù)注意TINYINT不能存儲(chǔ)負(fù)數(shù),一個(gè)TINYINT占用一個(gè)字節(jié),而一個(gè)INT型數(shù)據(jù)占用4個(gè)字節(jié)!
[4] 數(shù)據(jù)型數(shù)據(jù) Bit
網(wǎng)頁(yè)復(fù)選框搜集信息存入數(shù)據(jù)庫(kù),是BIT型最常見的用法了!他只有兩個(gè)值:0或1
[5] 數(shù)據(jù)型數(shù)據(jù) Datetime,Samlldatetime
DATETIME的存儲(chǔ)范圍是從1753年1月1日第一毫秒到9999年12月31日最后一毫秒,如果你不需要覆蓋面這么大的日期范圍,可選使用SMALLDATETIME型它的存儲(chǔ)范圍是從1900年1月1日到2079年6月6日,但是只能精確到秒!
[6] 特殊型數(shù)據(jù) Cursor
這里包括些2進(jìn)制數(shù)據(jù)類型和一些其他不常用到的數(shù)據(jù)類型,我就不再多說了!
bit:0或1的整型數(shù)字
int:從-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型數(shù)字
smallint:從-2^15(-32,768)到2^15(32,767)的整型數(shù)字
tinyint:從0到255的整型數(shù)字
decimal:從-10^38到10^38-1的定精度與有效位數(shù)的數(shù)字
numeric:decimal的同義詞
money:從-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的貨幣數(shù)據(jù),最小貨幣單位千分之十
smallmoney:從-214,748.3648到214,748.3647的貨幣數(shù)據(jù),最小貨幣單位千分之十
float:從-1.79E+308到1.79E+308可變精度的數(shù)字
real:從-3.04E+38到3.04E+38可變精度的數(shù)字
datetime:從1753年1月1日到9999年12日31的日期和時(shí)間數(shù)據(jù),最小時(shí)間單位為百分之三秒或3.33毫秒
smalldatetime:從1900年1月1日到2079年6月6日的日期和時(shí)間數(shù)據(jù),最小時(shí)間單位為分鐘
timestamp:時(shí)間戳,一個(gè)數(shù)據(jù)庫(kù)寬度的唯一數(shù)字
uniqueidentifier:全球唯一標(biāo)識(shí)符GUID
char:定長(zhǎng)非Unicode的字符型數(shù)據(jù),最大長(zhǎng)度為8000
varchar:變長(zhǎng)非Unicode的字符型數(shù)據(jù),最大長(zhǎng)度為8000
text:變長(zhǎng)非Unicode的字符型數(shù)據(jù),最大長(zhǎng)度為2^31-1(2G)
nchar:定長(zhǎng)Unicode的字符型數(shù)據(jù),最大長(zhǎng)度為8000
nvarchar:變長(zhǎng)Unicode的字符型數(shù)據(jù),最大長(zhǎng)度為8000
ntext:變長(zhǎng)Unicode的字符型數(shù)據(jù),最大長(zhǎng)度為2^31-1(2G)
binary:定長(zhǎng)二進(jìn)制數(shù)據(jù),最大長(zhǎng)度為8000
varbinary:變長(zhǎng)二進(jìn)制數(shù)據(jù),最大長(zhǎng)度為8000
image:變長(zhǎng)二進(jìn)制數(shù)據(jù),最大長(zhǎng)度為2^31-1(2G)
簡(jiǎn) 介
MS的SQL Server主要是由五種常常用到的字段,字符型,文本型,數(shù)值型,邏輯型,和日期型!許多朋友苦于在一些BBS中ACCESS轉(zhuǎn)換成SQL后字段類型不匹配而不知所措,下面我們就來介紹一些這五種數(shù)據(jù)類型各自的特性吧!
正 文
[1] 字符型數(shù)據(jù)Varchar,Char型
程序當(dāng)中當(dāng)大家需要存儲(chǔ)比較短的字符串信息時(shí)我們就要用到字符型數(shù)據(jù)了,SQL中的字符型數(shù)據(jù)又有兩種型!VARCHAR和CHAR型,正兩種類型的數(shù)據(jù)差別是很細(xì)微的,但是卻很重要!
比如當(dāng)你像一個(gè)長(zhǎng)度為40個(gè)字符的VARCHAR型字段中輸入一個(gè)長(zhǎng)度為4的字符串TOL8后你再取出的數(shù)據(jù)的時(shí)候,數(shù)據(jù)的長(zhǎng)度為4個(gè)字符,而你把VARCHAR換成CHAR型,你取出的將會(huì)是40各字符長(zhǎng)度的數(shù)據(jù),字符串后會(huì)被附加多余的空格,比如TOL8只有4個(gè)字符那么從CHAR中取出的數(shù)據(jù)是TOL8加上36個(gè)空格!具體的程序設(shè)計(jì)中我個(gè)人還是推薦VARCHAR類型,因?yàn)閺囊恍﹨⒖假Y料中我發(fā)現(xiàn)上面說VARCHAR型要比CHAR占用更少的硬盤很內(nèi)存!
VARCHAR存儲(chǔ)最長(zhǎng)255個(gè)字符,超過這個(gè)長(zhǎng)度就要用到我們下面將要講到的文本型數(shù)據(jù)了。
[2] 文本型數(shù)據(jù)Text
文本型數(shù)據(jù)中你可以存儲(chǔ)超過20億個(gè)字符串,怎么樣,這個(gè)夠大了吧?但是也不是任何時(shí)候都是和使用文本型數(shù)據(jù),因?yàn)樗浅U伎臻g,也非常消耗服務(wù)器,隨處亂用后果不堪設(shè)想!因?yàn)榧词鼓阆褚粋€(gè)文本型字段輸入了一個(gè)空值他都會(huì)占用2K的空間!而當(dāng)這時(shí)除了刪除該數(shù)據(jù)沒有別的辦法收回空間!
[3] 數(shù)據(jù)型數(shù)據(jù) Int,Tinying,Numeric
SQL支持多種不同的數(shù)據(jù)類型,讓你可以存儲(chǔ)整數(shù),小數(shù),和錢數(shù)!
INT(整型數(shù)據(jù))表示范圍是從-2,147,483,647 到 2,147,483,647 的整數(shù)
如果你的數(shù)值沒有那么長(zhǎng),為了節(jié)省內(nèi)存空間你可以使用SMALLINT它的表示范圍是-32768到32768整數(shù)!二者的使用方法完全相同!
如果你還想再節(jié)省空間你可以選擇使用TINYINT他只能存儲(chǔ)0到255的整數(shù)注意TINYINT不能存儲(chǔ)負(fù)數(shù),一個(gè)TINYINT占用一個(gè)字節(jié),而一個(gè)INT型數(shù)據(jù)占用4個(gè)字節(jié)!
[4] 數(shù)據(jù)型數(shù)據(jù) Bit
網(wǎng)頁(yè)復(fù)選框搜集信息存入數(shù)據(jù)庫(kù),是BIT型最常見的用法了!他只有兩個(gè)值:0或1
[5] 數(shù)據(jù)型數(shù)據(jù) Datetime,Samlldatetime
DATETIME的存儲(chǔ)范圍是從1753年1月1日第一毫秒到9999年12月31日最后一毫秒,如果你不需要覆蓋面這么大的日期范圍,可選使用SMALLDATETIME型它的存儲(chǔ)范圍是從1900年1月1日到2079年6月6日,但是只能精確到秒!
[6] 特殊型數(shù)據(jù) Cursor
這里包括些2進(jìn)制數(shù)據(jù)類型和一些其他不常用到的數(shù)據(jù)類型,我就不再多說了!
您可能感興趣的文章:
- SQLSERVER查詢所有數(shù)據(jù)庫(kù)名,表名,和字段名的語(yǔ)句
- SQL Server 觸發(fā)器 表的特定字段更新時(shí),觸發(fā)Update觸發(fā)器
- 解決SQL SERVER 2008數(shù)據(jù)庫(kù)表中修改字段后不能保存
- sqlserver對(duì)字段的添加修改刪除、以及字段的說明
- SQL Server中檢查字段的值是否為數(shù)字的方法
- SQL Server 中調(diào)整自增字段的當(dāng)前初始值
- sqlserver對(duì)字段出現(xiàn)NULL值的處理
- SQL Server數(shù)據(jù)庫(kù)中的表名稱、字段比較
相關(guān)文章
一篇文章教會(huì)你使用gs_restore導(dǎo)入數(shù)據(jù)
gs_restore是GaussDB(DWS)提供的針對(duì)gs_dump導(dǎo)出數(shù)據(jù)的導(dǎo)入工具,下面這篇文章主要給大家介紹了關(guān)于如何通過一篇文章教會(huì)你使用gs_restore導(dǎo)入數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2022-09-09
Access與sql server的語(yǔ)法區(qū)別總結(jié)
這篇文章主要介紹了Access與sql server的語(yǔ)法區(qū)別總結(jié),需要的朋友可以參考下2007-03-03
openGauss數(shù)據(jù)庫(kù)共享存儲(chǔ)特性概述
這篇文章主要介紹了openGauss數(shù)據(jù)庫(kù)共享存儲(chǔ)特性簡(jiǎn)介,本特性提供主備機(jī)共享一份存儲(chǔ)的能力,實(shí)現(xiàn)基于磁陣設(shè)備的主備共享存儲(chǔ)HA部署形態(tài),可選通過OCK RDMA提升備機(jī)實(shí)時(shí)一致性讀能力,需要的朋友可以參考下2023-02-02
分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)的三要素
大家好,本篇文章主要講的是分布式數(shù)據(jù)存儲(chǔ)系統(tǒng)的三要素,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12
DataGrip 數(shù)據(jù)導(dǎo)出與導(dǎo)入的實(shí)現(xiàn)示例
DataGrip 是一款類似于Workbench的數(shù)據(jù)庫(kù)設(shè)計(jì)工具。文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
一步步教你使用Navicat工具創(chuàng)建MySQL數(shù)據(jù)庫(kù)連接
Navicat是一套快速、可靠并價(jià)格相當(dāng)便宜的數(shù)據(jù)庫(kù)管理工具,專為簡(jiǎn)化數(shù)據(jù)庫(kù)的管理及降低系統(tǒng)管理成本而設(shè),下面這篇文章主要給大家介紹了關(guān)于如何使用Navicat工具創(chuàng)建MySQL數(shù)據(jù)庫(kù)連接的相關(guān)資料,需要的朋友可以參考下2023-03-03
Maven nexus 安裝nexus私服出現(xiàn)的問題和解決辦法
本文主要介紹安裝nexus私服的時(shí)候出現(xiàn)問題的解決辦法,這里整理了兩種問題并詳細(xì)說明了解決辦法,有需要的朋友可以參考下2016-08-08

