欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

oracle與gbase8s遷移數(shù)據(jù)類型對(duì)照以及舉例說明

 更新時(shí)間:2023年12月29日 09:33:30   作者:_蘇沐  
gbase8s是一個(gè)高性能的分布式關(guān)系型數(shù)據(jù)庫(kù),下面這篇文章主要給大家介紹了關(guān)于oracle與gbase8s遷移數(shù)據(jù)類型對(duì)照以及舉例說明的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下

聲明:以下為筆者閱讀gbase官方文檔和oracle官方文檔的理解,如有錯(cuò)誤,敬請(qǐng)指正。

最終結(jié)論:oracle與gbase8s數(shù)據(jù)類型對(duì)應(yīng)關(guān)系

邊界范圍使用數(shù)據(jù)類型oraclegbase
最大精度126位FLOAT/NUMBERDECIMAL
單精度浮點(diǎn)數(shù)數(shù)據(jù)類型BINARY_FLOATsmallfloat
雙精度浮點(diǎn)數(shù)數(shù)據(jù)類型BINARY_DOUBLEFLOAT

下面首先回憶一下精度、定點(diǎn)、浮點(diǎn)的定義,然后再來看oracle、gbase的官方文檔。

關(guān)于單精度與雙精度的區(qū)別

單精度和雙精度是計(jì)算機(jī)中用于表示浮點(diǎn)數(shù)的兩種不同精度的格式。

  • 單精度(Single Precision):?jiǎn)尉雀↑c(diǎn)數(shù)使用32位(4個(gè)字節(jié))來存儲(chǔ)一個(gè)浮點(diǎn)數(shù)。它包括一個(gè)符號(hào)位(用于表示正負(fù))、8位指數(shù)和23位尾數(shù)。單精度提供大約7位有效數(shù)字的精度。
  • 雙精度(Double Precision):雙精度浮點(diǎn)數(shù)使用64位(8個(gè)字節(jié))來存儲(chǔ)一個(gè)浮點(diǎn)數(shù)。它包括一個(gè)符號(hào)位、11位指數(shù)和52位尾數(shù)。雙精度提供大約15-16位有效數(shù)字的精度,比單精度更高。

主要區(qū)別:

  • 精度: 雙精度提供比單精度更高的精度,因?yàn)樗褂酶嗟奈粊肀硎緮?shù)字。這使得雙精度能夠處理更大范圍的數(shù)值,并提供更高的精確度。
  • 存儲(chǔ)需求: 雙精度使用的存儲(chǔ)空間是單精度的兩倍,因此在存儲(chǔ)大量數(shù)據(jù)時(shí),雙精度需要更多的內(nèi)存空間。
  • 計(jì)算速度: 在某些情況下,單精度計(jì)算可能比雙精度計(jì)算速度更快,因?yàn)樗婕案俚奈粩?shù)和更簡(jiǎn)單的計(jì)算。

選擇使用單精度還是雙精度通常取決于對(duì)精度和內(nèi)存使用的要求。如果需要更高的精度或者處理非常大或非常小的數(shù)值范圍,雙精度可能更適合。而如果對(duì)精度要求不高,但需要節(jié)省內(nèi)存,那么單精度可能更合適。

關(guān)于定點(diǎn)與浮點(diǎn)定義的區(qū)別

定點(diǎn)數(shù)和浮點(diǎn)數(shù)是計(jì)算機(jī)表示數(shù)據(jù)的兩種不同方式。定點(diǎn)數(shù)的小數(shù)點(diǎn)位置在計(jì)算機(jī)的存儲(chǔ)中是約定好的,這意味著小數(shù)位為固定十進(jìn)制數(shù),而浮點(diǎn)數(shù)的小數(shù)位則隨2的幾次冪的大小而浮動(dòng)。例如,8位定點(diǎn)數(shù)可以表示的范圍是-16.00~15.875,其最大精度為0.125。

將浮點(diǎn)數(shù)轉(zhuǎn)換為定點(diǎn)數(shù)的操作包括:首先計(jì)算 b = a * 2^F(a為浮點(diǎn)數(shù),F(xiàn)為小數(shù)部分字長(zhǎng)),然后將b化為整數(shù),最后用二進(jìn)制將b表示成c。這種轉(zhuǎn)換方法在可以接受精度損失的前提下,有可能提高運(yùn)算效率。然而,一般而言,定點(diǎn)數(shù)的數(shù)值范圍有限,要求的處理硬件比較簡(jiǎn)單。

精度的定義

精度是一個(gè)衡量測(cè)量結(jié)果與真實(shí)值接近程度的概念,它反映的是誤差的大小。如果誤差小,則精度高;反之,如果誤差大,則精度低。在計(jì)算機(jī)科學(xué)中,精度也用于表示數(shù)值的最小度量單位,例如,GPS的精度為0.1m,表示這個(gè)GPS最小能識(shí)別0.1m的位置差異。同時(shí),精度還被用來描述計(jì)算機(jī)中小數(shù)點(diǎn)前后的總位數(shù),如單精度和雙精度分別表示精確到小數(shù)點(diǎn)后幾位。然而,需要注意的是,儀器的精度并不能完全反映其準(zhǔn)確度。

Oracle 分為NUMBER和浮點(diǎn)數(shù)

NUMBER

NUMBER數(shù)據(jù)類型用于存儲(chǔ)可能為負(fù)值或正值的數(shù)值。

數(shù)據(jù)類型存儲(chǔ)定點(diǎn)數(shù)和浮點(diǎn)數(shù)。精度 38 位有效數(shù)字。

NUMBER(p, s):

  • 用于存儲(chǔ)數(shù)字值,其中p表示精度(最多38位),s表示小數(shù)位數(shù)取值范圍為[-84~127],當(dāng)s取負(fù)數(shù)時(shí),將小數(shù)點(diǎn)左邊的s位置為0,并四舍五入。
  • 當(dāng)小數(shù)位數(shù)大于s時(shí),采用四舍五入的方式。當(dāng)整數(shù)部分的長(zhǎng)度大于p-s時(shí),報(bào)錯(cuò)。
  • 需要22個(gè)字節(jié)的存儲(chǔ)空間。

Oracle FLOAT數(shù)據(jù)類型是NUMBER數(shù)據(jù)類型的子類型。FLOAT(b):用于存儲(chǔ)浮點(diǎn)數(shù),范圍從-1.79E+308到1.79E+308。FLOAT的最大精度是126。二進(jìn)制精度的最大126位數(shù),大致等于十進(jìn)制數(shù)位數(shù)的38位數(shù)。

![外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=C%3A%5CUsers%5CSU%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20231216162440409.png&pos_id=img-BPi20wT4-1702955220839)C:\Users\SU\AppData\Roaming\Typora\typora-user-images\image-20231216162440409.png

浮點(diǎn)數(shù)

BINARY_FLOAT 數(shù)據(jù)類型

BINARY_FLOAT是 32 位單精度浮點(diǎn)數(shù)數(shù)據(jù)類型。每個(gè)值需要 5 個(gè)字節(jié),包括一個(gè)長(zhǎng)度字節(jié)。BINARY_FLOAT

BINARY_DOUBLE 數(shù)據(jù)類型

BINARY_DOUBLE是 64 位雙精度浮點(diǎn)數(shù)數(shù)據(jù)類型。每個(gè)值需要 9 個(gè)字節(jié),包括一個(gè)長(zhǎng)度字節(jié)。BINARY_DOUBLE

create table t2 (a binary_float,b binary_double);
insert into t2 values (3.141592653589,3.141592653589);
insert into t2 values (1023.141592653589,1023.141592653589);
insert into t2 values (1023.14159265358933333333,1023.14159265358933333333);

gbase 8s 分精確數(shù)值數(shù)據(jù)類型,近似數(shù)值數(shù)據(jù)類型

精確數(shù)值數(shù)據(jù)類型

外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳

gbase應(yīng)該是32位最長(zhǎng),oracle是38位

近似數(shù)值數(shù)據(jù)類型

  • smallfloat:8位有效數(shù)字的單精度浮點(diǎn)數(shù)值
  • float/double:16位有效數(shù)字的雙精度浮點(diǎn)數(shù)值。

建表時(shí),在數(shù)據(jù)類型聲明中接受precision參數(shù),但是該參數(shù)對(duì)數(shù)據(jù)庫(kù)服務(wù)器存儲(chǔ)的值的實(shí)際精度不起作用。

create table t1 (a float,b smallfloat);
desc t1;
insert into t1 values (3.14,3.14);
insert into t1 values (3.1415926,3.1415926);
insert into t1 values (3.141592653589,3.141592653589);
insert into t1 values (1023.141592653589,1023.141592653589);
insert into t1 values (1023.14159265358933333333,1023.14159265358933333333);
select * from t1;

可以看出 smallfloat超過8位有效數(shù)字會(huì)截?cái)?/p>

外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳

可以看出指定該參數(shù)對(duì)數(shù)據(jù)庫(kù)服務(wù)器存儲(chǔ)的值的實(shí)際精度不起作用。

查看計(jì)算后小數(shù)位數(shù)是decimal類型

總結(jié)

到此這篇關(guān)于oracle與gbase8s遷移數(shù)據(jù)類型對(duì)照以及舉例說明的文章就介紹到這了,更多相關(guān)oracle與gbase8s遷移數(shù)據(jù)類型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用sqlplus命令行工具為oracle創(chuàng)建用戶和表空間

    使用sqlplus命令行工具為oracle創(chuàng)建用戶和表空間

    這篇文章主要介紹了使用sqlplus為oracle創(chuàng)建用戶和表空間的方法,本文介紹的是使用Oracle 9i所帶的命令行工具:SQLPLUS,需要的朋友可以參考下
    2017-11-11
  • [Oracle] 解析在沒有備份的情況下undo損壞怎么辦

    [Oracle] 解析在沒有備份的情況下undo損壞怎么辦

    Oracle在運(yùn)行中很不幸遇到undo損壞,當(dāng)然最好的方法是完全恢復(fù),但如果是在沒有備份的情況下undo損壞怎么辦?以下就為大家介紹出現(xiàn)這種情況的解決辦法,需要的朋友參考下
    2013-07-07
  • Oracle中的高效SQL編寫PARALLEL解析

    Oracle中的高效SQL編寫PARALLEL解析

    這篇文章主要介紹了Oracle中的高效SQL編寫PARALLEL解析,在Oracle中,PARALLEL(并行)方式最大化調(diào)用計(jì)算機(jī)資源來成倍提高數(shù)據(jù)分析效率,這個(gè)在Oracle 9i之后的版本可以使用,需要的朋友可以參考下
    2023-07-07
  • Oracle 存儲(chǔ)過程加密方法

    Oracle 存儲(chǔ)過程加密方法

    Oracle 存儲(chǔ)過程加密方法,需要的朋友可以參考下。
    2009-10-10
  • 在ORACLE移動(dòng)數(shù)據(jù)庫(kù)文件

    在ORACLE移動(dòng)數(shù)據(jù)庫(kù)文件

    在ORACLE移動(dòng)數(shù)據(jù)庫(kù)文件...
    2007-03-03
  • Oracle內(nèi)存分配不足的過程解析(業(yè)務(wù)干掛數(shù)據(jù)庫(kù))

    Oracle內(nèi)存分配不足的過程解析(業(yè)務(wù)干掛數(shù)據(jù)庫(kù))

    本文介紹了Oracle數(shù)據(jù)庫(kù)內(nèi)存分配不足的問題,原因主要是業(yè)務(wù)劇增導(dǎo)致的內(nèi)存不足,通過分析AAS負(fù)載、等待事件、transactions和阻塞情況,發(fā)現(xiàn)PGA內(nèi)存出現(xiàn)了嚴(yán)重抖動(dòng),感興趣的朋友一起看看吧
    2025-02-02
  • 在Oracle 8x實(shí)現(xiàn)自動(dòng)斷開后再連接

    在Oracle 8x實(shí)現(xiàn)自動(dòng)斷開后再連接

    在Oracle 8x實(shí)現(xiàn)自動(dòng)斷開后再連接...
    2007-03-03
  • oracle索引的測(cè)試實(shí)例代碼

    oracle索引的測(cè)試實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于oracle索引測(cè)試的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Oracle數(shù)據(jù)庫(kù)失效對(duì)象處理詳情

    Oracle數(shù)據(jù)庫(kù)失效對(duì)象處理詳情

    這篇文章主要介紹了Oracle數(shù)據(jù)庫(kù)失效對(duì)象處理,數(shù)據(jù)庫(kù)業(yè)務(wù)用戶(非 SYS/Public)下存在失效對(duì)象。對(duì)失效對(duì)象進(jìn)行分析,主要包括失效的視圖、物化視圖、函數(shù)、包、觸發(fā)器等,下面帶著些許了解一起深入學(xué)習(xí)下面文章學(xué)習(xí)內(nèi)容吧
    2021-10-10
  • oracle 監(jiān)聽 lsnrctl 命令 (推薦)

    oracle 監(jiān)聽 lsnrctl 命令 (推薦)

    這篇文章主要介紹了oracle 監(jiān)聽 lsnrctl 命令 ,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-03-03

最新評(píng)論