国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

跟我學(xué)SQL:(八)數(shù)值數(shù)據(jù)類型

2024-07-21 02:10:57
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
sql92標(biāo)準(zhǔn)定義了若干種基本數(shù)據(jù)類型,它們是sql數(shù)據(jù)庫(kù)中各種數(shù)據(jù)類型的基礎(chǔ)。在《字符串?dāng)?shù)據(jù)類型》一文中,我們已經(jīng)詳細(xì)討論了sql92標(biāo)準(zhǔn)所定義的字符串?dāng)?shù)據(jù)類型。現(xiàn)在,我們來(lái)進(jìn)一步討論數(shù)值數(shù)據(jù)類型。   
你最好開(kāi)始嘗試使用不同數(shù)據(jù)庫(kù)實(shí)現(xiàn)方法并在它們傳遞數(shù)據(jù),這樣可以加深你對(duì)數(shù)值數(shù)據(jù)類型的理解。本文將給你一個(gè)數(shù)值數(shù)據(jù)類型的概要,你可以結(jié)合你的數(shù)據(jù)庫(kù)的文檔資料來(lái)學(xué)習(xí)。

在字符串、數(shù)值、datetime和interval這四種數(shù)據(jù)類型中,數(shù)值型的種類最多,約束也最多。在不同數(shù)據(jù)庫(kù)實(shí)現(xiàn)方法之間交換數(shù)據(jù)時(shí),數(shù)值型的精度也最容易降低。oracle和sql服務(wù)器之間的實(shí)現(xiàn)分歧(同樣的數(shù)據(jù)類型長(zhǎng)度不同)導(dǎo)致它們之間的數(shù)據(jù)傳遞過(guò)程會(huì)截短數(shù)字、改變它們的數(shù)值。因此,在移植程序前,你有必須很明確的了解兩個(gè)平臺(tái)間的數(shù)據(jù)定義差異,以及危及數(shù)據(jù)精度的風(fēng)險(xiǎn)。

謹(jǐn)記上述警告后,讓我們看看sql92標(biāo)準(zhǔn)的數(shù)值類型

基本數(shù)值類型
與數(shù)值有關(guān)的類型統(tǒng)稱為數(shù)值類型。所有的數(shù)值都有精度,精度指的是有效數(shù)字位數(shù)。有的數(shù)值還有標(biāo)度值(scale value),它用來(lái)指示小數(shù)點(diǎn)右邊的最小有效數(shù)字位數(shù)。例如,數(shù)字1234.56的精度為6,標(biāo)度值為2,可以定義為numeric(6,2)。

每一個(gè)數(shù)據(jù)庫(kù)實(shí)現(xiàn)方法都有關(guān)于如何近似數(shù)值或者截短數(shù)值的規(guī)則。除了提供獲取數(shù)值長(zhǎng)度和其它數(shù)值處理所需的屬性外,sql92提供了內(nèi)建函數(shù),如加、減、乘、除等。所有的數(shù)值類型之間都可以互相比較、互相賦值。盡管實(shí)現(xiàn)方法不同,但是它們有一個(gè)的共同點(diǎn),即它們的結(jié)果一般都保留最大精度。

numeric

用法:numeric(精度,標(biāo)度值) 

是一種精確數(shù)值類型,即它是數(shù)字的值的文字表示。(可以對(duì)該數(shù)字進(jìn)行取舍或者截取以符合指定精度,標(biāo)度值由預(yù)定義的規(guī)則確定。) 
為了符合標(biāo)度值指定的小數(shù)數(shù)字位數(shù),舍去多余的小數(shù)部分,舍入過(guò)程采用十進(jìn)制。 
數(shù)字的總長(zhǎng)度等于精度,如果標(biāo)度值大于0(有小數(shù)部分),則長(zhǎng)度加1。 
小數(shù)部分的位數(shù)要符合標(biāo)度值。 
decimal | dec
用法:decimal(精度,標(biāo)度值) | dec(精度,標(biāo)度值)

是一種精確數(shù)值類型。 
用十進(jìn)制。 
數(shù)字的總長(zhǎng)度等于精度,如果標(biāo)度值大于0(有小數(shù)部分),則長(zhǎng)度加1。 
小數(shù)部分的位數(shù)不得小于標(biāo)度值,小數(shù)位數(shù)的上限由數(shù)據(jù)庫(kù)提供商設(shè)定。 

integer | int
用法: integer(精度)

是一種精確數(shù)值類型。 
使用二進(jìn)制或者十進(jìn)制,這基于表示該數(shù)值的二進(jìn)制位(bit)的個(gè)數(shù)(這是implementation-specific,與smallint對(duì)應(yīng))。 
標(biāo)度值恒為0。 
數(shù)據(jù)庫(kù)供應(yīng)商對(duì)其定義了最大精度和最小精度。 
供應(yīng)商可能會(huì)提供的默認(rèn)精度。 
smallint
用法:smallint(精度)

是一種精確數(shù)值類型。 
位數(shù)取舍方法與integer (二進(jìn)制或者十進(jìn)制)相同。 
標(biāo)度值恒為0。 
最大精度等于或者小于integer的最大精度。 
float
用法:float(精度)

是一種近似數(shù)值類型,即對(duì)一個(gè)指定的數(shù)值用指數(shù)形式表示出來(lái),如1.23e-45(等于),該數(shù)值類型的取舍和截短方法大多由數(shù)據(jù)庫(kù)提供商定義。 
當(dāng)取舍時(shí),使用二進(jìn)制精度。 
精度表示使用的最小位數(shù),最大精度由數(shù)據(jù)庫(kù)提供商設(shè)定。 
real
用法:real

是一種近似數(shù)值類型。 
使用二進(jìn)制精度,最大精度由數(shù)據(jù)庫(kù)提供商設(shè)定。 
其默認(rèn)精度必須小于double precision的默認(rèn)精度。 
double precision
用法: double precision

是一種近似數(shù)值類型。 
使用二進(jìn)制精度,最大精度由數(shù)據(jù)庫(kù)提供商設(shè)定。 
其默認(rèn)精度必須大于precision的默認(rèn)精度。 
相關(guān)理論
數(shù)據(jù)庫(kù)提供商在基本數(shù)據(jù)類型的基礎(chǔ)上創(chuàng)建了你實(shí)際需要的數(shù)據(jù)類型。對(duì)數(shù)值類型來(lái)說(shuō),它可以包括同名的數(shù)據(jù)類型,如int、real,也包括為了滿足特定場(chǎng)合或者用途而創(chuàng)建的新數(shù)據(jù)類型。

在我們的下一篇文章,我們將討論datetime和interval數(shù)據(jù)類型。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 如皋市| 新宁县| 金秀| 平邑县| 延安市| 宁南县| 梁山县| 新疆| 湖南省| 迭部县| 安康市| 铜山县| 东辽县| 大余县| 大名县| 罗源县| 颍上县| 商洛市| 伊金霍洛旗| 永兴县| 尉氏县| 宾川县| 同江市| 鄢陵县| 南华县| 沛县| 绥棱县| 大同县| 建平县| 黄骅市| 丰顺县| 漯河市| 和顺县| 大化| 宁安市| 攀枝花市| 广东省| 云浮市| 麟游县| 阿尔山市| 周口市|