日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SQL數(shù)據(jù)庫中的字符數(shù)據(jù)類型(sql數(shù)據(jù)庫中字母的數(shù)據(jù)類型)

SQL是一種常見的結(jié)構(gòu)化查詢語言,廣泛應(yīng)用于數(shù)據(jù)庫管理系統(tǒng)中。在SQL數(shù)據(jù)庫中,字符數(shù)據(jù)類型是非常常見的一種數(shù)據(jù)類型,它用來表示和存儲(chǔ)文本數(shù)據(jù)。在本文中,我們將介紹,包括CHAR、VARCHAR、TEXT、NCHAR、NVARCHAR和NTEXT等。

創(chuàng)新互聯(lián)建站專注于網(wǎng)站建設(shè)|成都網(wǎng)站改版|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋工商代辦等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身開發(fā)品質(zhì)網(wǎng)站。

CHAR和VARCHAR

在SQL數(shù)據(jù)庫中,CHAR和VARCHAR是兩種常見的字符數(shù)據(jù)類型。它們的主要區(qū)別在于存儲(chǔ)方式和數(shù)據(jù)長度。

CHAR是固定長度的字符類型,它占用的存儲(chǔ)空間是固定的,不管實(shí)際輸入的數(shù)據(jù)長度是多少,都會(huì)占用固定的存儲(chǔ)空間。例如,如果定義了一個(gè)長度為10的CHAR類型的字段,則無論輸入的數(shù)據(jù)長度是1個(gè)字符還是10個(gè)字符,都將占用10個(gè)字符的存儲(chǔ)空間。這種存儲(chǔ)方式的優(yōu)點(diǎn)是速度比較快,缺點(diǎn)是會(huì)浪費(fèi)存儲(chǔ)空間。

相比之下,VARCHAR是可變長度的字符類型,它只會(huì)占用實(shí)際輸入數(shù)據(jù)的存儲(chǔ)空間,可以根據(jù)實(shí)際需要調(diào)整長度。例如,如果定義了一個(gè)長度為10的VARCHAR類型的字段,輸入的數(shù)據(jù)長度是1個(gè)字符,則僅占用1個(gè)字符的存儲(chǔ)空間,如果輸入的數(shù)據(jù)長度是10個(gè)字符,則占用10個(gè)字符的存儲(chǔ)空間。這種存儲(chǔ)方式的優(yōu)點(diǎn)是節(jié)省存儲(chǔ)空間,缺點(diǎn)是速度慢一些。

TEXT和NTEXT

除了CHAR和VARCHAR之外,SQL數(shù)據(jù)庫中還有兩種常見的文本類型:TEXT和NTEXT。

TEXT是一種長文本類型,可以存儲(chǔ)大量的文本數(shù)據(jù),例如文章、郵件、日志等等。它的存儲(chǔ)方式與VARCHAR類似,也是可變長度的,可以根據(jù)實(shí)際輸入數(shù)據(jù)的長度進(jìn)行調(diào)整。

另一種常見的字符數(shù)據(jù)類型是NTEXT。NTEXT表示Unicode字符集的數(shù)據(jù)類型,它支持在SQL數(shù)據(jù)庫中存儲(chǔ)各種語言的文本數(shù)據(jù)。和TEXT類似,NTEXT也是可變長度的,可以存儲(chǔ)大量的文本數(shù)據(jù)。

NCHAR和NVARCHAR

除了CHAR和VARCHAR之外,SQL數(shù)據(jù)庫中還有兩種與之對應(yīng)的Unicode類型:NCHAR和NVARCHAR。

NCHAR表示Unicode字符集的固定長度字符串類型。與CHAR相似,NCHAR類型的存儲(chǔ)方式也是固定長度的,無論實(shí)際輸入的數(shù)據(jù)長度是多少,都會(huì)占用固定的存儲(chǔ)空間。

相比之下,NVARCHAR是一種可變長度的Unicode字符串類型。它可以根據(jù)實(shí)際輸入的數(shù)據(jù)長度進(jìn)行調(diào)整存儲(chǔ)空間,并且支持多種語言的文本數(shù)據(jù)。NVARCHAR比NCHAR更具有靈活性,也更節(jié)省存儲(chǔ)空間。

在SQL數(shù)據(jù)庫中,字符數(shù)據(jù)類型是常見的存儲(chǔ)文本數(shù)據(jù)的方式。常見的字符數(shù)據(jù)類型包括CHAR、VARCHAR、TEXT、NCHAR、NVARCHAR和NTEXT等。CHAR和VARCHAR區(qū)別在于存儲(chǔ)方式和數(shù)據(jù)長度,TEXT和NTEXT可以存儲(chǔ)大量的文本數(shù)據(jù),NCHAR和NVARCHAR支持Unicode字符集,并且具有靈活的存儲(chǔ)方式和節(jié)省存儲(chǔ)空間的優(yōu)點(diǎn)。選擇合適的字符數(shù)據(jù)類型,可以在保證數(shù)據(jù)庫數(shù)據(jù)完整性的前提下,提高數(shù)據(jù)庫應(yīng)用程序的效率和運(yùn)行速度。

相關(guān)問題拓展閱讀:

  • sql server中創(chuàng)建表時(shí)各個(gè)數(shù)據(jù)類型時(shí)什么意思??

sql server中創(chuàng)建表時(shí)各個(gè)數(shù)據(jù)類型時(shí)什么意思??

SQL Server 數(shù)據(jù)類型分類及含義如下:

1、Character 字符串:

2、Unicode 字符串:

3、Binary 類型:

4、Number 類型:

4、Date 類型:

5、其他數(shù)據(jù)類型:

擴(kuò)展資料:

關(guān)于SQL數(shù)據(jù)類型的特征解析:

在 SQL Server 中,每個(gè)列、局部變量、表達(dá)式和參數(shù)都具有一個(gè)相關(guān)的數(shù)據(jù)類型。 數(shù)據(jù)類型是一種屬性,用于指定對象可保存的數(shù)據(jù)的類型:整數(shù)數(shù)據(jù)、字符數(shù)據(jù)、廳前貨幣數(shù)據(jù)、日期和時(shí)間數(shù)據(jù)、二進(jìn)制字符串等。

當(dāng)兩個(gè)具有不同數(shù)據(jù)類型、排序規(guī)則、精度、小數(shù)位數(shù)或長度的表達(dá)式通過運(yùn)算符進(jìn)行組合時(shí),結(jié)果的特征由以下規(guī)則確定:

1、結(jié)果的數(shù)據(jù)類型是通過將數(shù)據(jù)類型的優(yōu)先順序規(guī)則應(yīng)用到輸入表達(dá)式的數(shù)據(jù)類型來確定的。 有關(guān)詳細(xì)信息,請參閱數(shù)據(jù)類型優(yōu)先級 (Transact-SQL)。

2、當(dāng)結(jié)果數(shù)據(jù)類型為 char、varchar、text、nchar、nvarchar 或 ntext 時(shí),結(jié)果的排序規(guī)則由排序規(guī)則的優(yōu)先順序規(guī)則確定。 有關(guān)詳細(xì)信息,請參閱排序規(guī)則優(yōu)先順序 (Transact-SQL)。

3、結(jié)果的精度、小數(shù)位數(shù)扮乎清及長度取決于輸入表達(dá)式的精度、小數(shù)位數(shù)及長度。 有關(guān)詳細(xì)信息,請參閱精度、小數(shù)位數(shù)和長頃螞度 (Transact-SQL)。

參考資料:

百度百科–SQL數(shù)據(jù)類型

我學(xué)這個(gè)時(shí)學(xué)了sql數(shù)據(jù)庫9大數(shù)據(jù)類型,但其中有一部分我到現(xiàn)在也不明白究竟什么時(shí)候用,因?yàn)楹髞砗苌儆玫?,我就給你虛宴如列舉一下那些常用的吧!

1.字符型數(shù)據(jù):

char\varchar\text

這幾種數(shù)據(jù)類型都是用來裝字符串的

char 固定長度存儲(chǔ)數(shù)據(jù)

varcahr 按變長存儲(chǔ)數(shù)據(jù)

text 當(dāng)你需要存儲(chǔ)非常大量的字符串時(shí)使用

nchar、nvarchar、ntext

這幾個(gè)也是存儲(chǔ)字符串的,與上面的對應(yīng)相同。唯一不同的是這三種類型,是采用Unicode編碼,當(dāng)祥攜你做國際化的網(wǎng)站時(shí)使用

2.日期時(shí)間型數(shù)據(jù)

datetime、alldatetime

都是用于存儲(chǔ)日期和時(shí)間信息

datetime:存放1/1//31/9999的時(shí)間數(shù)據(jù),精確到0.001s

alldatetime: 存放1/1/1900-6/6/2023的時(shí)間,精確到秒

3.整數(shù)型數(shù)據(jù)

用于存放整數(shù)

bigint、int、allint、tinyint

bigint 從 -2^63 (775808) 到 2^63-1 (75807) 的整型數(shù)據(jù)(所有數(shù)字)。

int 從 -2^31 (-2,147,483,648) 到 2^(2,147,483,647) 的整型數(shù)據(jù)(所有數(shù)字)。

allint 從 -2^15 (-32,768) 到 2^(32,767) 的整數(shù)數(shù)據(jù)。

tinyint 從 0 到 255 的整數(shù)數(shù)據(jù)。

4.精確小數(shù)型數(shù)據(jù)

用于存放小數(shù)

decimal、numeric

5.近似數(shù)值類型

用于存放近似數(shù)

float、real

6.貨幣型數(shù)據(jù)

用于存放貨幣數(shù)據(jù)

money、allmoney

在輸入貨幣型數(shù)據(jù)時(shí)要在其前加貨幣符號,若為負(fù)值,則在貨差啟幣符號后加符號

7.位類型數(shù)據(jù)

bit

這個(gè)剛學(xué)不好理解,我給你打個(gè)比方吧。比如你的表中有一列放性別,性別只有兩種可能性,不是男就是女。這時(shí)你就可以把性別這列的數(shù)據(jù)類型設(shè)為bit。凡是與之類似的情況都可以用bit類型數(shù)據(jù)。

如果還有什么不懂的,可以看看sql的聯(lián)機(jī)叢書。

你說的這個(gè)”char””varchar”是ORACLE的字段類型 不是SQL Server的 我把兩個(gè)都列給你看下吧

SQL :

bit

整型

bit 數(shù)據(jù)類型是整型,其值只能是0、1或空值。這種數(shù)據(jù)類型用于存儲(chǔ)只有兩種可能值的數(shù)據(jù),如Yes 或No、True 或Fa lse 、On 或Off

int

整型

int 數(shù)據(jù)類型可以存儲(chǔ)從- 231()到231 ()之間的整數(shù)。存儲(chǔ)到數(shù)據(jù)庫的幾乎所有數(shù)值型的數(shù)據(jù)都可以用這種數(shù)據(jù)類型。這種數(shù)據(jù)類型在數(shù)據(jù)庫里占用4個(gè)字節(jié)

allint

整型

allint 數(shù)據(jù)類型可以存儲(chǔ)從- 215(-32768)到215(32767)之間的整數(shù)。這種數(shù)據(jù)類型對存儲(chǔ)一些常限定在特定范圍內(nèi)的數(shù)值型數(shù)據(jù)非常有用。這種數(shù)據(jù)類型在數(shù)據(jù)庫里占用2 字節(jié)空間

tinyint

整型

tinyint 數(shù)據(jù)類型能存儲(chǔ)從0到255 之間的整數(shù)。它在你只打算存儲(chǔ)有限數(shù)目的數(shù)值時(shí)很有用。 這種數(shù)據(jù)類型在數(shù)據(jù)庫中占用1 個(gè)字節(jié)

numeric

精確數(shù)值型

numeric數(shù)據(jù)類型與decimal 型相同

decimal

精確數(shù)值型

decimal 數(shù)據(jù)類型能用來存儲(chǔ)從到1038-1的固定精度和范圍的數(shù)值型數(shù)據(jù)。使用這種數(shù)據(jù)類型時(shí),必須指定范圍和精度。 范圍是小數(shù)點(diǎn)左右所能存儲(chǔ)的數(shù)字的總位數(shù)。精度是小數(shù)點(diǎn)右邊存儲(chǔ)的數(shù)字的位數(shù)

money

貨幣型

money 數(shù)據(jù)類型用來表示錢和貨幣值。這種數(shù)據(jù)類型能存儲(chǔ)從-9220億到9220 億之間的數(shù)據(jù),精確到貨幣單豎棚臘位的萬分之一

allmoney

貨幣型

allmoney 數(shù)據(jù)類型用來表示錢和貨幣值。這種數(shù)據(jù)類型能存儲(chǔ)從.3648 到214748.3647 之間的數(shù)據(jù),精確到貨幣單位的萬分之一

float

近似數(shù)值型

float 數(shù)據(jù)類型是一種近似數(shù)值類型,供浮點(diǎn)數(shù)使用。說浮點(diǎn)數(shù)是近似的,是因?yàn)樵谄浞秶鷥?nèi)不是所有的數(shù)都能精確表示。浮點(diǎn)數(shù)可以是從-1.79E+308到1.79E+308 之間的任意數(shù)

real

近似數(shù)值型

real 數(shù)據(jù)類型像浮點(diǎn)數(shù)一樣,是近似數(shù)值類型。它可以表示數(shù)值在和念-3.40E+38到3.40E+38之間的浮點(diǎn)數(shù)

datetime

日余滑期時(shí)間型

datetime數(shù)據(jù)類型用來表示日期和時(shí)間。這種數(shù)據(jù)類型存儲(chǔ)從1753年1月1日到9999年12月3 1日間所有的日期和時(shí)間數(shù)據(jù), 精確到三百分之一秒或3.33毫秒

Smalldatetime

日期時(shí)間型

alldatetime 數(shù)據(jù)類型用來表示從1900年1月1日到2023年6月6日間的日期和時(shí)間,精確到一分鐘

cursor

特殊數(shù)據(jù)型

cursor 數(shù)據(jù)類型是一種特殊的數(shù)據(jù)類型,它包含一個(gè)對游標(biāo)的引用。這種數(shù)據(jù)類型用在存儲(chǔ)過程中,而且創(chuàng)建表時(shí)不能用

timestamp

特殊數(shù)據(jù)型

timestamp 數(shù)據(jù)類型是一種特殊的數(shù)據(jù)類型,用來創(chuàng)建一個(gè)數(shù)據(jù)庫范圍內(nèi)的唯一數(shù)碼。 一個(gè)表中只能有一個(gè)timestamp列。每次插入或修改一行時(shí),timestamp列的值都會(huì)改變。盡管它的名字中有“time”, 但timestamp列不是人們可識(shí)別的日期。在一個(gè)數(shù)據(jù)庫里,timestamp值是唯一的

Uniqueidentifier

特殊數(shù)據(jù)型

Uniqueidentifier數(shù)據(jù)類型用來存儲(chǔ)一個(gè)全局唯一標(biāo)識(shí)符,即GUID。GUID確實(shí)是全局唯一的。這個(gè)數(shù)幾乎沒有機(jī)會(huì)在另一個(gè)系統(tǒng)中被重建??梢允褂肗EWID 函數(shù)或轉(zhuǎn)換一個(gè)字符串為唯一標(biāo)識(shí)符來初始化具有唯一標(biāo)識(shí)符的列

char

字符型

char數(shù)據(jù)類型用來存儲(chǔ)指定長度的定長非統(tǒng)一編碼型的數(shù)據(jù)。當(dāng)定義一列為此類型時(shí),你必須指定列長。當(dāng)你總能知道要存儲(chǔ)的數(shù)據(jù)的長度時(shí),此數(shù)據(jù)類型很有用。例如,當(dāng)你按郵政編碼加4個(gè)字符格式來存儲(chǔ)數(shù)據(jù)時(shí),你知道總要用到10個(gè)字符。此數(shù)據(jù)類型的列寬更大為8000 個(gè)字符

varchar

字符型

varchar數(shù)據(jù)類型,同char類型一樣,用來存儲(chǔ)非統(tǒng)一編碼型字符數(shù)據(jù)。與char 型不一樣,此數(shù)據(jù)類型為變長。當(dāng)定義一列為該數(shù)據(jù)類型時(shí),你要指定該列的更大長度。 它與char數(shù)據(jù)類型更大的區(qū)別是,存儲(chǔ)的長度不是列長,而是數(shù)據(jù)的長度

text

字符型

text 數(shù)據(jù)類型用來存儲(chǔ)大量的非統(tǒng)一編碼型字符數(shù)據(jù)。這種數(shù)據(jù)類型最多可以有231-1或20億個(gè)字符

nchar

統(tǒng)一編碼字符型

nchar 數(shù)據(jù)類型用來存儲(chǔ)定長統(tǒng)一編碼字符型數(shù)據(jù)。統(tǒng)一編碼用雙字節(jié)結(jié)構(gòu)來存儲(chǔ)每個(gè)字符,而不是用單字節(jié)(普通文本中的情況)。它允許大量的擴(kuò)展字符。此數(shù)據(jù)類型能存儲(chǔ)4000種字符,使用的字節(jié)空間上增加了一倍

nvarchar

統(tǒng)一編碼字符型

nvarchar 數(shù)據(jù)類型用作變長的統(tǒng)一編碼字符型數(shù)據(jù)。此數(shù)據(jù)類型能存儲(chǔ)4000種字符,使用的字節(jié)空間增加了一倍

ntext

統(tǒng)一編碼字符型

ntext 數(shù)據(jù)類型用來存儲(chǔ)大量的統(tǒng)一編碼字符型數(shù)據(jù)。這種數(shù)據(jù)類型能存儲(chǔ)230 -1或?qū)⒔?0億個(gè)字符,且使用的字節(jié)空間增加了一倍

binary

二進(jìn)制數(shù)據(jù)類型

binary數(shù)據(jù)類型用來存儲(chǔ)可達(dá)8000 字節(jié)長的定長的二進(jìn)制數(shù)據(jù)。當(dāng)輸入表的內(nèi)容接近相同的長度時(shí),你應(yīng)該使用這種數(shù)據(jù)類型

varbinary

二進(jìn)制數(shù)據(jù)類型

varbinary 數(shù)據(jù)類型用來存儲(chǔ)可達(dá)8000 字節(jié)長的變長的二進(jìn)制數(shù)據(jù)。當(dāng)輸入表的內(nèi)容大小可變時(shí),你應(yīng)該使用這種數(shù)據(jù)類型

image

二進(jìn)制數(shù)據(jù)類型

image 數(shù)據(jù)類型用來存儲(chǔ)變長的二進(jìn)制數(shù)據(jù),更大可達(dá)231-1或大約20億字節(jié)

Oracle:

數(shù)據(jù)類型 參數(shù) 描述

char(n) n=1 to 2023字節(jié) 定長字符串,n字節(jié)長,如果不指定長度,缺省為1個(gè)字節(jié)長(一個(gè)漢字為2字節(jié))

varchar2(n) n=1 to 4000字節(jié) 可變長的字符串,具體定義時(shí)指明更大長度n,

這種數(shù)據(jù)類型可以放數(shù)字、字母以及ASCII碼字符集(或者EBCDIC等數(shù)據(jù)庫系統(tǒng)接受的字符集標(biāo)準(zhǔn))中的所有符號。

如果數(shù)據(jù)長度沒有達(dá)到更大值n,Oracle 8i會(huì)根據(jù)數(shù)據(jù)大小自動(dòng)調(diào)節(jié)字段長度,

如果你的數(shù)據(jù)前后有空格,Oracle 8i會(huì)自動(dòng)將其刪去。VARCHAR2是最常用的數(shù)據(jù)類型。

可做索引的更大長度3209。

number(m,n) m=1 to 38

n=-84 to 127

可變長的數(shù)值列,允許0、正值及負(fù)值,m是所有有效數(shù)字的位數(shù),n是小數(shù)點(diǎn)以后的位數(shù)。

如:number(5,2),則這個(gè)字段的更大值是99,999,如果數(shù)值超出了位數(shù)限制就會(huì)被截取多余的位數(shù)。

如:number(5,2),但在一行數(shù)據(jù)中的這個(gè)字段輸入575.316,則真正保存到字段中的數(shù)值是575.32。

如:number(3,0),輸入575.316,真正保存的數(shù)據(jù)是575。

date 無 從公元前4712年1月1日到公元4712年12月31日的所有合法日期,

Oracle 8i其實(shí)在內(nèi)部是按7個(gè)字節(jié)來保存日期數(shù)據(jù),在定義中還包括小時(shí)、分、秒。

缺省格式為DD-MON-YY,如07-11月-00 表示2023年11月7日。

long 無 可變長字符列,更大長度限制是2GB,用于不需要作字符串搜索的長串?dāng)?shù)據(jù),如果要進(jìn)行字符搜索就要用varchar2類型。

long是一種較老的數(shù)據(jù)類型,將來會(huì)逐漸被BLOB、CLOB、NCLOB等大的對象數(shù)據(jù)類型所取代。

raw(n) n=1 to 2023 可變長二進(jìn)制數(shù)據(jù),在具體定義字段的時(shí)候必須指明更大長度n,Oracle 8i用這種格式來保存較小的圖形文件或帶格式的文本文件,如Miceosoft Word文檔。

raw是一種較老的數(shù)據(jù)類型,將來會(huì)逐漸被BLOB、CLOB、NCLOB等大的對象數(shù)據(jù)類型所取代。

long raw 無 可變長二進(jìn)制數(shù)據(jù),更大長度是2GB。Oracle 8i用這種格式來保存較大的圖形文件或帶格式的文本文件,如Miceosoft Word文檔,以及音頻、視頻等非文本文件。

在同一張表中不能同時(shí)有l(wèi)ong類型和long raw類型,long raw也是一種較老的數(shù)據(jù)類型,將來會(huì)逐漸被BLOB、CLOB、NCLOB等大的對象數(shù)據(jù)類型所取代。

blob

clob

nclob

無 三種大型對象(LOB),用來保存較大的圖形文件或帶格式的文本文件,如Miceosoft Word文檔,以及音頻、視頻等非文本文件,更大長度是4GB。

LOB有幾種類型,取決于你使用的字節(jié)的類型,Oracle 8i實(shí)實(shí)在在地將這些數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫內(nèi)部保存。

可以執(zhí)行讀取、存儲(chǔ)、寫入等特殊操作。

bfile 無 在數(shù)據(jù)庫外部保存的大型二進(jìn)制對象文件,更大長度是4GB。

這種外部的LOB類型,通過數(shù)據(jù)庫記錄變化情況,但是數(shù)據(jù)的具體保存是在數(shù)據(jù)庫外部進(jìn)行的。

Oracle 8i可以讀取、查詢BFILE,但是不能寫入。

大小由操作系統(tǒng)決定。

(1)整數(shù)型

整數(shù)包括bigint、int、allint和tinyint,從標(biāo)識(shí)符的含義就可以看出,它們的表示數(shù)范圍逐漸縮小。

lbigint:大整數(shù),數(shù)范圍為-263(775808)~263-1(75807),其精度為19,小數(shù)位數(shù)為0,長度為8字節(jié)。

lint:整數(shù),數(shù)范圍為-231(-2,147,483,648)~231-1(2,147,483,647),其精度為10,小數(shù)位數(shù)為0,長度為4字節(jié)。

lallint:短整數(shù),數(shù)范圍為-215(-32768)~215-1(32767),其精度為5,小數(shù)位數(shù)為0,長度為2字節(jié)。

ltinyint:微短整數(shù),數(shù)范圍為0~255,長度為1字節(jié),其精度為3,小數(shù)位數(shù)為0,長度為1字節(jié)。

(2)精確整數(shù)型

精確整數(shù)型數(shù)據(jù)由整數(shù)部分和小數(shù)部分構(gòu)成,其所有的數(shù)字都是有效位,能夠以完整的精度存儲(chǔ)十進(jìn)制數(shù)。精確整數(shù)型包括decimal和numeric兩類。從功能上說兩者完全等價(jià),兩者的唯一區(qū)別在于decimal不能用于帶有identity關(guān)鍵字的列。

聲明精確整數(shù)型數(shù)據(jù)的格式是numeric|decimal(p),其中p為精度,s為小數(shù)位數(shù),s的缺省值為0。例如指定某列為精確整數(shù)型,精度為6,小數(shù)位數(shù)為3,即decimal(6,3),那么若向某記錄的該列賦值56.342689時(shí),該列實(shí)際存儲(chǔ)的是56.3427。

decimal和numeric可存儲(chǔ)從-1038+1到1038–1的固定精度和小數(shù)位的數(shù)字?jǐn)?shù)據(jù),它們的存儲(chǔ)長度隨精度變化而變化,最少為5字節(jié),最多為17字節(jié)。

l精度為1~9時(shí),存儲(chǔ)字節(jié)長度為5;

l精度為10~19時(shí),存儲(chǔ)字節(jié)長度為9;

l精度為20~28時(shí),存儲(chǔ)字節(jié)長度為13;

l精度為29~38時(shí),存儲(chǔ)字節(jié)長度為17。

例如若有聲明numeric(8,3),則存儲(chǔ)該類型數(shù)據(jù)需5字節(jié)廳瞎,而若有聲明numeric(22,5),則存儲(chǔ)該類型數(shù)據(jù)需13字節(jié)。

注意:聲明精確整數(shù)型數(shù)據(jù)時(shí),其小數(shù)位數(shù)必須小于精度;在給精確整數(shù)型數(shù)據(jù)賦值時(shí),必須使所賦數(shù)據(jù)的整數(shù)部分位數(shù)不大于列的整數(shù)部分的長度。

(3)浮點(diǎn)型

浮點(diǎn)型也稱近似數(shù)值型。顧名思義,這種類型不能提供精確表示數(shù)據(jù)的精度,使用這種類型來存儲(chǔ)某些數(shù)值時(shí),有可能會(huì)損失一些精度,擾鍵所以它可用于處理取值范圍非常大且對精確度要求不是十分高的數(shù)值量,如一些統(tǒng)計(jì)量。

有兩種近似數(shù)值數(shù)據(jù)類型:float和real,兩者通常都使用科學(xué)計(jì)數(shù)法表示數(shù)據(jù),即形為:尾數(shù)E階數(shù),如5.6432E20,-2.98E10,1.287659E-9等。

lreal:使用4字節(jié)存儲(chǔ)數(shù)據(jù),表數(shù)范圍為-3.40E+38到3.40E+38,數(shù)據(jù)精度為7位有效數(shù)字。

lfloat:定義中的n取值范圍是1~53,用于指示其精度和存儲(chǔ)大小。扮李空當(dāng)n在1~24之間時(shí),實(shí)際上是定義了一個(gè)real型數(shù)據(jù),存儲(chǔ)長度為4字節(jié),精度為7位有效數(shù)字;當(dāng)n在25~53之間時(shí),存儲(chǔ)長度為8字節(jié),精度為15位有效數(shù)字。當(dāng)缺省n時(shí),代表n在25~53之間。float型數(shù)據(jù)的數(shù)范圍為-1.79E+308到1.79E+308。

(4)貨幣型

SQLServer提供了兩個(gè)專門用于處理貨幣的數(shù)據(jù)類型:money和allmoney,它們用十進(jìn)制數(shù)表示貨幣值。

lmoney:數(shù)據(jù)的數(shù)范圍為-263(77.5808)~263-1(7.5807),其精度為19,小數(shù)位數(shù)為4,長度為8字節(jié)。money的數(shù)的范圍與bigint相同,不同的只是money型有4位小數(shù),實(shí)際上,money就是按照整數(shù)進(jìn)行運(yùn)算的,只是將小數(shù)點(diǎn)固定在末4位。

lallmoney:數(shù)范圍為–231(-2,147,48.3648)~231-1(2,147,48.3647),其精度為10,小數(shù)位數(shù)為4,長度為4字節(jié)。可見allmoney與int的關(guān)系就如同money與bigint的關(guān)系。

當(dāng)向表中插入money或allmoney類型的值時(shí),必須在數(shù)據(jù)前面加上貨幣表示符號($),并且數(shù)據(jù)中間不能有逗號(,);若貨幣值為負(fù)數(shù),需要在符號$的后面加上負(fù)號(-)。例如:$15000.32,$680,$-20230.9088都是正確的貨幣數(shù)據(jù)表示形式。

(5)位型

SQLServer中的位(bit)型數(shù)據(jù)相當(dāng)于其他語言中的邏輯型數(shù)據(jù),它只存儲(chǔ)0和1,長度為一個(gè)字節(jié)。但要注意,SQLServer對表中bit類型列的存儲(chǔ)作了優(yōu)化:如果一個(gè)表中有不多于8個(gè)的bit列,這些列將作為一個(gè)字節(jié)存儲(chǔ),如果表中有9到16個(gè)bit列,這些列將作為兩個(gè)字節(jié)存儲(chǔ),更多列的情況依此類推。

當(dāng)為bit類型數(shù)據(jù)賦0時(shí),其值為0,而賦非0(如100)時(shí),其值為1。

若表中某列為bit類型數(shù)據(jù),那么該列不允許為空值(有關(guān)空值概念本節(jié)稍后即做介紹),并且不允許對其建立索引。

(6)字符型

字符型數(shù)據(jù)用于存儲(chǔ)字符串,字符串中可包括字母、數(shù)字和其它特殊符號(如#、@、&等等)。在輸入字符串時(shí),需將串中的符號用單引號或雙引號括起來,如’abc’、”Abc

SQLServer字符型包括兩類:固定長度(char)或可變長度(varchar)字符數(shù)據(jù)類型。

lchar

定長字符數(shù)據(jù)類型,其中n定義字符型數(shù)據(jù)的長度,n在1到8000之間,缺省為1。當(dāng)表中的列定義為char(n)類型時(shí),若實(shí)際要存儲(chǔ)的串長度不足n時(shí),則在串的尾部添加空格以達(dá)到長度n,所以char(n)的長度為n。例如某列的數(shù)據(jù)類型為char(20),而輸入的字符串為”ahjm1922”,則存儲(chǔ)的是字符ahjm1922和12個(gè)空格。若輸入的字符個(gè)數(shù)超出了n,則超出的部分被截?cái)唷?/p>

lvarchar

變長字符數(shù)據(jù)類型,其中n的規(guī)定與定長字符型char中n完全相同,但這里n表示的是字符串可達(dá)到的更大長度。varchar(n)的長度為輸入的字符串的實(shí)際字符個(gè)數(shù),而不一定是n。例如,表中某列的數(shù)據(jù)類型為varchar(100),而輸入的字符串為”ahjm1922”,則存儲(chǔ)的就是字符ahjm1922,其長度為8字節(jié)。

當(dāng)列中的字符數(shù)據(jù)值長度接近一致時(shí),例如姓名,此時(shí)可使用char;而當(dāng)列中的數(shù)據(jù)值長度顯著不同時(shí),使用varchar較為恰當(dāng),可以節(jié)省存儲(chǔ)空間。

(7)Unicode字符型

Unicode是“統(tǒng)一字符編碼標(biāo)準(zhǔn)”,用于支持國際上非英語語種的字符數(shù)據(jù)的存儲(chǔ)和處理。SQLServer的Unicode字符型可以存儲(chǔ)Unicode標(biāo)準(zhǔn)字符集定義的各種字符。

Unicode字符型包括nchar和nvarchar兩類。nchar是固定長度Unicode數(shù)據(jù)的數(shù)據(jù)類型,nvarchar是可變長度Unicode數(shù)據(jù)的數(shù)據(jù)類型,二者均使用UNICODEUCS-2字符集。

lnchar:nchar為包含n個(gè)字符的固定長度Unicode字符型數(shù)據(jù),n的值在1與4,000之間,缺省為1。長度為2n字節(jié)。若輸入的字符串長度不足n,將以空白字符補(bǔ)足。

lnvarchar:nvarchar為最多包含n個(gè)字符的可變長度Unicode字符型數(shù)據(jù),n的值在1與4,000之間,缺省為1。長度是所輸入字符個(gè)數(shù)的兩倍。

實(shí)際上,nchar、nvarchar與char、varchar的使用非常相似,只是字符集不同(前者使用Unicode字符集,后者使用ASCII字符集)。

(8)文本型

當(dāng)需要存儲(chǔ)大量的字符數(shù)據(jù),如較長的備注、日志信息等等,字符型數(shù)據(jù)的最長8000個(gè)字符的限制可能使它們不能滿足這種應(yīng)用需求,此時(shí)可使用文本型數(shù)據(jù)。

文本型包括text和ntext兩類,分別對應(yīng)ASCII字符和Unicode字符。text類型可以表示更大長度為231-1(2,147,483,647)個(gè)字符,其數(shù)據(jù)的存儲(chǔ)長度為實(shí)際字符數(shù)個(gè)字節(jié)。ntext可表示更大長度為230-1(1,073,741,823)個(gè)Unicode字符,其數(shù)據(jù)的存儲(chǔ)長度是實(shí)際字符個(gè)數(shù)的兩倍(以字節(jié)為單位)。

(9)二進(jìn)制型

二進(jìn)制數(shù)據(jù)類型表示的是位數(shù)據(jù)流,包括binary(固定長度)和varbinary(可變長度)兩種。

lbinary:固定長度的n個(gè)字節(jié)二進(jìn)制數(shù)據(jù)。n取值范圍為1到8,000,缺省為1。binary(n)數(shù)據(jù)的存儲(chǔ)長度為n+4字節(jié)。若輸入的數(shù)據(jù)長度小于n,則不足部分用0填充;若輸入的數(shù)據(jù)長度大于n,則多余部分被截?cái)唷?/p>

輸入二進(jìn)制值時(shí),在數(shù)據(jù)前面要加上0x,可以用的數(shù)字符號為0—9、A—F(字母大小寫均可)。因此,二進(jìn)制數(shù)據(jù)有時(shí)也被稱為十六進(jìn)制數(shù)據(jù)。例如0xFF、0x12A0分別表示值FF和12A0。因?yàn)槊孔止?jié)的數(shù)更大為FF,故在“0x”格式的數(shù)據(jù)每兩位占1個(gè)字節(jié)。

lvarbinary:n個(gè)字節(jié)變長二進(jìn)制數(shù)據(jù)。n取值范圍為1到8,000,缺省為1。varbinary(n)數(shù)據(jù)的存儲(chǔ)長度為實(shí)際輸入數(shù)據(jù)長度+4個(gè)字節(jié)。

(10)日期時(shí)間類型

日期時(shí)間類型數(shù)據(jù)用于存儲(chǔ)日期和時(shí)間信息,包括datetime和alldatetime兩類。

ldatetime:datetime類型可表示的日期范圍從1753年1月1日到9999年12月31日的日期和時(shí)間數(shù)據(jù),精確度為百分之三秒(3.33毫秒或0.00333秒),例如1到3毫秒的值都表示為0毫秒,4到6毫秒的值都表示為4毫秒。

datetime類型數(shù)據(jù)長度為8字節(jié),日期和時(shí)間分別使用4個(gè)字節(jié)存儲(chǔ)。前4字節(jié)用于存儲(chǔ)datetime類型數(shù)據(jù)中距1900年1月1日的天數(shù),為正數(shù)表示日期在1900年1月1日之后,為負(fù)數(shù)則表示日期在1900年1月1日之前。后4個(gè)字節(jié)用于存儲(chǔ)datetime類型數(shù)據(jù)中距12:00(24小時(shí)制)的毫秒數(shù)。

用戶以字符串形式輸入datetime類型數(shù)據(jù),系統(tǒng)也以字符串形式輸出datetime類型數(shù)據(jù),將用戶輸入到系統(tǒng)以及系統(tǒng)輸出的datetime類型數(shù)據(jù)的字符串形式稱為datetime類型數(shù)據(jù)的“外部形式”,而將datetime在系統(tǒng)內(nèi)的存儲(chǔ)形式稱為“內(nèi)部形式”,SQLServer負(fù)責(zé)datetime類型數(shù)據(jù)的兩種表現(xiàn)形式之間的轉(zhuǎn)換,包括合法性檢查。

用戶給出datetime類型數(shù)據(jù)值時(shí),日期部分和時(shí)間部分分別給出。

sql數(shù)據(jù)庫中字母的數(shù)據(jù)類型的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于sql數(shù)據(jù)庫中字母的數(shù)據(jù)類型,SQL數(shù)據(jù)庫中的字符數(shù)據(jù)類型,sql server中創(chuàng)建表時(shí)各個(gè)數(shù)據(jù)類型時(shí)什么意思??的信息別忘了在本站進(jìn)行查找喔。

創(chuàng)新互聯(lián)服務(wù)器托管擁有成都T3+級標(biāo)準(zhǔn)機(jī)房資源,具備完善的安防設(shè)施、三線及BGP網(wǎng)絡(luò)接入帶寬達(dá)10T,機(jī)柜接入千兆交換機(jī),能夠有效保證服務(wù)器托管業(yè)務(wù)安全、可靠、穩(wěn)定、高效運(yùn)行;創(chuàng)新互聯(lián)專注于成都服務(wù)器托管租用十余年,得到成都等地區(qū)行業(yè)客戶的一致認(rèn)可。


本文標(biāo)題:SQL數(shù)據(jù)庫中的字符數(shù)據(jù)類型(sql數(shù)據(jù)庫中字母的數(shù)據(jù)類型)
分享網(wǎng)址:http://www.dlmjj.cn/article/djdijhs.html