千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > Oracle除法函數(shù)

Oracle除法函數(shù)

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-21 06:49:52 1700520592

一、除法函數(shù)介紹

Oracle數(shù)據(jù)庫(kù)中的除法函數(shù)主要有兩種:/(整除運(yùn)算符)和div函數(shù)。在進(jìn)行除法運(yùn)算時(shí),/運(yùn)算符只保留整數(shù)部分并舍棄小數(shù)部分,而div函數(shù)則進(jìn)行四舍五入并返回一個(gè)整數(shù)結(jié)果。


-- /運(yùn)算符示例
SELECT 5/2 FROM dual;

-- div函數(shù)示例
SELECT DIV(5,2) FROM dual;

以上兩個(gè)查詢結(jié)果都是2,因?yàn)?運(yùn)算符返回的結(jié)果默認(rèn)是整數(shù)類型,即向下取整。div函數(shù)則是將結(jié)果進(jìn)行四舍五入,并返回整數(shù)類型的結(jié)果。

二、除數(shù)為0的情況處理

在除數(shù)為0的情況下,/運(yùn)算符會(huì)返回一個(gè)無(wú)窮大的數(shù)值類型,而div函數(shù)會(huì)報(bào)錯(cuò)并返回空值。因此,在進(jìn)行除法運(yùn)算時(shí),我們需要注意除數(shù)不能為0。


-- /運(yùn)算符除數(shù)為0示例
SELECT 5/0 FROM dual;

-- div函數(shù)除數(shù)為0示例
SELECT DIV(5,0) FROM dual;

以上兩個(gè)查詢結(jié)果都會(huì)報(bào)錯(cuò)。

三、除數(shù)為負(fù)數(shù)的情況處理

在進(jìn)行除法運(yùn)算時(shí),如果除數(shù)為負(fù)數(shù),則結(jié)果也會(huì)為負(fù)數(shù)。


-- /運(yùn)算符除數(shù)為負(fù)數(shù)示例
SELECT 5/-2 FROM dual;

-- div函數(shù)除數(shù)為負(fù)數(shù)示例
SELECT DIV(5,-2) FROM dual;

以上兩個(gè)查詢結(jié)果都是-2。

四、除數(shù)和被除數(shù)的數(shù)據(jù)類型轉(zhuǎn)換

在進(jìn)行除法運(yùn)算時(shí),如果除數(shù)和被除數(shù)的數(shù)據(jù)類型不一致,則Oracle會(huì)自動(dòng)進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換。


-- 將數(shù)值類型的5轉(zhuǎn)換為字符類型再進(jìn)行/運(yùn)算符運(yùn)算
SELECT '5'/2 FROM dual;

-- 將字符類型的'5'轉(zhuǎn)換為數(shù)值類型再進(jìn)行div函數(shù)運(yùn)算
SELECT DIV('5',2) FROM dual;

以上兩個(gè)查詢結(jié)果都是2。在進(jìn)行/運(yùn)算符運(yùn)算時(shí),Oracle會(huì)將字符'5'轉(zhuǎn)換為數(shù)值類型進(jìn)行運(yùn)算。而在進(jìn)行div函數(shù)運(yùn)算時(shí),Oracle會(huì)將字符'5'轉(zhuǎn)換為數(shù)值類型再進(jìn)行運(yùn)算。

五、四舍五入規(guī)則

div函數(shù)進(jìn)行除法運(yùn)算時(shí),會(huì)涉及到四舍五入的問(wèn)題。在div函數(shù)中,除法運(yùn)算結(jié)果是向真實(shí)數(shù)值最近的整數(shù)進(jìn)行四舍五入的。即,對(duì)于小數(shù)部分0.5及以上的數(shù)值,會(huì)向整數(shù)部分進(jìn)1;對(duì)于小數(shù)部分0.5以下的數(shù)值,會(huì)向整數(shù)部分舍去。


-- div函數(shù)四舍五入示例
SELECT DIV(5,3) FROM dual;
SELECT DIV(7,3) FROM dual;
SELECT DIV(-5,3) FROM dual;
SELECT DIV(-7,-3) FROM dual;

以上四個(gè)查詢結(jié)果分別為2、2、-2、3。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
Fuseblk用法介紹

一、Fuseblk簡(jiǎn)介Fuseblk是Linux系統(tǒng)中一種基于用戶空間的文件系統(tǒng)。它能夠在不需要特權(quán)的情況下將用戶空間中的文件系統(tǒng)掛載到內(nèi)核中。Fuseblk使...詳情>>

2023-11-21 09:46:16
查看Java進(jìn)程的方法

Java是一門面向?qū)ο蟮木幊陶Z(yǔ)言,其代碼最終需要運(yùn)行在Java虛擬機(jī)上。因此,我們需要查看Java進(jìn)程來(lái)確保我們的應(yīng)用程序在正確的環(huán)境下運(yùn)行。本文...詳情>>

2023-11-21 09:35:28
數(shù)據(jù)庫(kù)中的Column

一、Column的定義和作用Column,即列,是關(guān)系型數(shù)據(jù)庫(kù)中的最小單位,是一個(gè)表格中的一列。每個(gè)Column都有一個(gè)唯一的名稱和一個(gè)數(shù)據(jù)類型,用于存...詳情>>

2023-11-21 09:31:52
一文用法介紹PC寄存器

一、PC寄存器的基本概念PC寄存器(Program Counter Register),也稱為指令指針寄存器,是一個(gè)在計(jì)算機(jī)體系中常見的寄存器之一,被用來(lái)存儲(chǔ)下一...詳情>>

2023-11-21 09:06:40
如何防止魔獸世界暫離?

一、魔獸世界防暫離方法在魔獸世界中,有幾種方式可以避免暫離狀態(tài):1、移動(dòng)角色:可以通過(guò)使用鍵盤或鼠標(biāo)移動(dòng)角色來(lái)避免暫離狀態(tài),這種方法可...詳情>>

2023-11-21 08:27:04