<rp id="kut09"><nav id="kut09"></nav></rp>
<rp id="kut09"></rp>
  • <tt id="kut09"></tt>
    <tt id="kut09"><tbody id="kut09"></tbody></tt>
    1. <u id="kut09"></u>
    2. <tt id="kut09"><noscript id="kut09"></noscript></tt>
    3. orcale中的to_number方法使用

       更新時間:2020年12月29日 15:34:18   作者:天堂地址不詳Y  
      這篇文章主要介紹了orcale中的to_number方法使用,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

      To_number函數的格式如下:

      To_number(varchar2 or char,'format model')

      To_number函數中也有很多預定義的固定格式:

      格式值 含義
      9 代表一個數字
      0 強迫0顯示
      $ 顯示美元符號
      L 強制顯示一個當地的貨幣符號
      . 顯示一個小數點
      , 顯示一個千位分隔符號

      TO_NUMBER用法 將一個字符串轉成數值

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

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

      例:

      TO_NUMBER('123.45')

      結果

      123.45

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

      結果

      123,456.78

      Oracle中to_number()函數的學習

      1、

      Converts a string to the NUMBER data type(將字符串轉換為數字數據類型)
      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;

      結果為:123.12

      2、

      Converts a HEX number to FLOAT(轉換一個十六進制數的浮標)
      TO_NUMBER(<value>, <format>);
      SELECT TO_NUMBER('0A', 'XX')
      FROM dual;

      結果為:10

      3、

      Converts a HEX number to DECIMAL(一個十六進制數轉換為十進制)
      TO_NUMBER(<binary_float | binary_double | number>,
      '<hex mask>') RETURN <binary_float | binary_double | number>;
      SELECT TO_NUMBER(100000,'XXXXXXXX')
      FROM dual;

      結果為: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;

      補充:oracle中to_number字符串轉數字、max取最大值、dbms_random.value生成隨機數及對小數做截取,四舍五入操作的函數

      oracle中to_number、max、dbms_random.value、trunc、round函數的用法及生成隨機整數的實現方式。

      1、 to_number函數很簡單,就是把字符類型轉換成數字類型。

      select to_number('123.8') from dual;

      select to_number('123') from dual

      2、max函數很簡單,從結果集中取出最大值。下圖為基礎數據。在此基礎上應用max函數。

      3、dbms_random.value(a,b)函數可生成隨機浮點數。

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

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

      若第二個參數不傳,默認保留整數。

      5、round(3.141592,4)四舍五入到小數點后4位。

      同樣,若第二個參數不傳,默認四舍五入到整數。

      6、隨機生成[1,7]之間的整數, dbms_random.value結合round或者trunc實現。

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

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

      當dbms_random.value(1,4)生成的隨機數在1~1.5之間時round(dbms_random.value(1,4))值為1

      當dbms_random.value(1,4)生成的隨機數在1.5~2.5之間時round(dbms_random.value(1,4))值為2

      當dbms_random.value(1,4)生成的隨機數在2.5~3.5之間時round(dbms_random.value(1,4))值為3

      當dbms_random.value(1,4)生成的隨機數在3.5~4之間時round(dbms_random.value(1,4))值為4

      可見生成1和4的概率為1/6,生成2和3的概率為2/6,所以也就談不上隨機生成了。

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

      用round和trunc函數結合dbms_random.value生成隨機數時一定注意這一點。

      建議這種情況直接用trunc,簡單粗暴。

      以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

      相關文章

      最新評論

      218彩票 www.esbtrade.com:清流县| www.012559.com:古丈县| www.leopad.net:聂荣县| www.sidewaysmilk.com:买车| www.logosheji8.com:桐柏县| www.taynelemon.com:双城市| www.pf955.com:安塞县| www.hyperprosales.com:新田县| www.szjrgb.com:界首市| www.aureliogonzalez.com:福贡县| www.alarmsunrise.com:剑阁县| www.i-infidelity.com:迁西县| www.fhmkq.cn:和龙市| www.camiladrozd.com:石门县| www.290428.com:大新县| www.testingtutorials.net:高台县| www.zhongxulawyer.com:大埔区| www.sweetnthings.com:白银市| www.z3858.com:彰化县| www.ycjzsy.com:湾仔区| www.vcmarienkirchen.com:宁夏| www.qimaoji.com:南皮县| www.67ban.com:西贡区| www.curlytoppipeco.com:馆陶县| www.0086ssw.com:吴川市| www.jm88dz.com:德昌县| www.hongxingbj.com:商南县| www.91guntang.com:涟水县| www.dengfuwu.com:石嘴山市| www.wzxj888.com:盐亭县| www.bichengdecoration.com:博兴县| www.acssecuritygroup.com:彩票| www.hfrok.com:巴彦淖尔市| www.kjyjw.cn:米林县| www.inkedcreatively.com:珲春市| www.jacobswelldrilling.net:镇巴县| www.comfymassagetable.com:海门市| www.378dan.com:芒康县| www.zctqw.cn:屯门区| www.kmsrmall.com:平遥县| www.advsignco.com:宜章县| www.damoa33.com:郑州市| www.streebon.com:缙云县| www.ovomasturbador.com:建湖县| www.soundandvisionmex.com:锦州市| www.maksoyun.com:临夏县| www.445cf.com:长岭县| www.milwaukeemillennial.com:丰县| www.plasticsconsultancy.com:房产| www.casagourmande.com:屏山县| www.ink4arteurope.com:垣曲县| www.taynelemon.com:上蔡县| www.zoneii.com:泸州市| www.eprsdxx.com:定兴县| www.mfnck.com:定安县| www.99069ii.com:共和县| www.donyahost.com:吉林市| www.foxbreaks.com:连城县| www.rememberforeverphotography.com:孝义市| www.blackeyedtease.com:灌南县| www.jiescience.com:射阳县| www.ranpuya.com:中阳县| www.alao333.com:玛沁县| www.fm553.com:贵定县| www.mathtuition.org:杨浦区| www.rippan.com:大丰市| www.thisdayinmusicapps.com:喀什市| www.shdingzhu.com:凌云县| www.iptb.org:宜良县| www.nawalodge.com:云浮市| www.1663pj.com:揭阳市| www.mashrou3ak.org:玉山县| www.actcci.com:社会| www.wnwgj.com:普陀区| www.cigdemyartasi.com:玉溪市| www.yarnundyedusa.com:鄂托克前旗| www.nokian97blog.com:同德县| www.crpdh.cn:苗栗县| www.bostonsalist.com:手机| www.desaisartstudio.com:伊春市| www.70088a.com:开封县| www.yzhytkd.com:房产| www.bestquality365.com:岢岚县| www.gamezhuan8.com:砚山县|