主頁(yè) > 知識(shí)庫(kù) > orcale中的to_number方法使用

orcale中的to_number方法使用

熱門(mén)標(biāo)簽:鶴壁電話機(jī)器人價(jià)格 電銷(xiāo)套路機(jī)器人 地圖標(biāo)注效果的制作 安陽(yáng)企業(yè)電銷(xiāo)機(jī)器人供應(yīng)商 汽車(chē)4s店百度地圖標(biāo)注店 地圖標(biāo)注坐標(biāo)圖標(biāo) 手機(jī)地圖標(biāo)注門(mén)店 網(wǎng)貸外呼系統(tǒng)合法嗎 杭州網(wǎng)絡(luò)外呼系統(tǒng)運(yùn)營(yíng)商

TO_NUMBER函數(shù)()是Oracle中常用的類(lèi)型轉(zhuǎn)換函數(shù)之一,主要是將字符串轉(zhuǎn)換為數(shù)值型的格式,與TO_CHAR()函數(shù)的作用正好相反。

To_number函數(shù)的格式如下:

To_number(varchar2 or char,'format model')

To_number函數(shù)中也有很多預(yù)定義的固定格式:

格式值 含義
9 代表一個(gè)數(shù)字
0 強(qiáng)迫0顯示
$ 顯示美元符號(hào)
L 強(qiáng)制顯示一個(gè)當(dāng)?shù)氐呢泿欧?hào)
. 顯示一個(gè)小數(shù)點(diǎn)
, 顯示一個(gè)千位分隔符號(hào)

TO_NUMBER用法 將一個(gè)字符串轉(zhuǎn)成數(shù)值

格式:TO_NUMBER(string,format) 即 TO_NUMBER(字符串,格式)

在“轉(zhuǎn)換函數(shù):TO_CHAR()用法之一 將一個(gè)數(shù)值轉(zhuǎn)化成字符串 ”一文中 TO_CHAR 函數(shù)所用格式,都適合本函數(shù)。

例:

TO_NUMBER('123.45')

結(jié)果

123.45

TO_NUMBER('$123,456.78','$999,999.99')

結(jié)果

123,456.78

Oracle中to_number()函數(shù)的學(xué)習(xí)

1、

Converts a string to the NUMBER data type(將字符串轉(zhuǎn)換為數(shù)字?jǐn)?shù)據(jù)類(lèi)型)
TO_NUMBER(value>[, format>, NLS parameter>]) RETURN NUMBER
select to_number('00001228') from dual;--to_number('00001228') 1228
select trunc(to_number('123.123'),2) from dual;

結(jié)果為:123.12

2、

Converts a HEX number to FLOAT(轉(zhuǎn)換一個(gè)十六進(jìn)制數(shù)的浮標(biāo))
TO_NUMBER(value>, format>);
SELECT TO_NUMBER('0A', 'XX')
FROM dual;

結(jié)果為:10

3、

Converts a HEX number to DECIMAL(一個(gè)十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制)
TO_NUMBER(binary_float | binary_double | number>,
'hex mask>') RETURN binary_float | binary_double | number>;
SELECT TO_NUMBER(100000,'XXXXXXXX')
FROM dual;

結(jié)果為:1048576

4、

--to_number(expr)
--to_number(expr,format)
--to_number(expr,format,'nls-param')
 
select to_number('0123')number1,      --converts a string to number
    trunc(to_number('0123.123'),2) number2,
    to_number('120.11','999.99') number3,
     to_number('0a','xx') number4,    --converts a hex number to decimal
    to_number(100000,'xxxxxx') number5
from dual;

補(bǔ)充:oracle中to_number字符串轉(zhuǎn)數(shù)字、max取最大值、dbms_random.value生成隨機(jī)數(shù)及對(duì)小數(shù)做截取,四舍五入操作的函數(shù)

oracle中to_number、max、dbms_random.value、trunc、round函數(shù)的用法及生成隨機(jī)整數(shù)的實(shí)現(xiàn)方式。

1、 to_number函數(shù)很簡(jiǎn)單,就是把字符類(lèi)型轉(zhuǎn)換成數(shù)字類(lèi)型。

select to_number('123.8') from dual;

select to_number('123') from dual

2、max函數(shù)很簡(jiǎn)單,從結(jié)果集中取出最大值。下圖為基礎(chǔ)數(shù)據(jù)。在此基礎(chǔ)上應(yīng)用max函數(shù)。

3、dbms_random.value(a,b)函數(shù)可生成隨機(jī)浮點(diǎn)數(shù)。

a指下限,b指上限,將會(huì)生成下限到上限之間的數(shù)字,但不包含上限,即生成的小數(shù)在[a,b)區(qū)間。

4、trunc(3.141592,4)保留小數(shù)到小數(shù)點(diǎn)后4位,不做四舍五入操作。

若第二個(gè)參數(shù)不傳,默認(rèn)保留整數(shù)。

5、round(3.141592,4)四舍五入到小數(shù)點(diǎn)后4位。

同樣,若第二個(gè)參數(shù)不傳,默認(rèn)四舍五入到整數(shù)。

6、隨機(jī)生成[1,7]之間的整數(shù), dbms_random.value結(jié)合round或者trunc實(shí)現(xiàn)。

但是用select round(dbms_random.value(1,7)) from dual隨機(jī)生成[1,7]之間的隨機(jī)數(shù)是不科學(xué)的

以隨機(jī)生成[1,4]之間的隨機(jī)數(shù)為例,若是這么寫(xiě)select round(dbms_random.value(1,4)) from dual

當(dāng)dbms_random.value(1,4)生成的隨機(jī)數(shù)在1~1.5之間時(shí)round(dbms_random.value(1,4))值為1

當(dāng)dbms_random.value(1,4)生成的隨機(jī)數(shù)在1.5~2.5之間時(shí)round(dbms_random.value(1,4))值為2

當(dāng)dbms_random.value(1,4)生成的隨機(jī)數(shù)在2.5~3.5之間時(shí)round(dbms_random.value(1,4))值為3

當(dāng)dbms_random.value(1,4)生成的隨機(jī)數(shù)在3.5~4之間時(shí)round(dbms_random.value(1,4))值為4

可見(jiàn)生成1和4的概率為1/6,生成2和3的概率為2/6,所以也就談不上隨機(jī)生成了。

可改成select round(dbms_random.value(0.5,4.5)) from dual,這樣生成每一個(gè)數(shù)的概率就相同了。

用round和trunc函數(shù)結(jié)合dbms_random.value生成隨機(jī)數(shù)時(shí)一定注意這一點(diǎn)。

建議這種情況直接用trunc,簡(jiǎn)單粗暴。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 深入淺析Orcale的nvl函數(shù)和SQL Server的isnull函數(shù)
  • Orcale 數(shù)據(jù)庫(kù)客戶(hù)端PL/SQL 中文亂碼的問(wèn)題解決方法
  • Orcale權(quán)限、角色查看創(chuàng)建方法

標(biāo)簽:焦作 梧州 柳州 酒泉 泰安 河源 南陽(yáng) 銀川

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《orcale中的to_number方法使用》,本文關(guān)鍵詞  orcale,中的,number,方法,使用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《orcale中的to_number方法使用》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于orcale中的to_number方法使用的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章