久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      oracle怎么判斷數(shù)據(jù)是否是數(shù)字類型

      方法:1、利用“trim(translate(column,'0123456789',' ')) is NULL;”判斷數(shù)據(jù)是否是數(shù)字;2、利用“regexp_like(column,'^[0-9]+[0-9]$');”判斷數(shù)據(jù)是否是數(shù)字。

      oracle怎么判斷數(shù)據(jù)是否是數(shù)字類型

      本教程操作環(huán)境:Windows10系統(tǒng)、Oracle 11g版、Dell G3電腦。

      oracle怎么判斷數(shù)據(jù)是否是數(shù)字類型

      select*from 表名 wherere 在我們平常的開(kāi)發(fā)中可能會(huì)遇到這樣的問(wèn)題,就是判斷某一列是否全部由數(shù)字組成,我們都知道oracle并沒(méi)有給我們提供這樣一個(gè)現(xiàn)成的函數(shù),那么根據(jù)我的經(jīng)驗(yàn)我總結(jié)了兩個(gè)行之有效的方法(列名:column,表名:table):

      1.使用trim+translate函數(shù):

      代碼如下:

      select * from table where trim(translate(column,'0123456789',' ')) is NULL;

        這里要注意的是:translate函數(shù)的第三個(gè)參數(shù)是一個(gè)空格,不是'', 因?yàn)閠ranslate的第三個(gè)參數(shù)如果為空的話,那么永遠(yuǎn)返回'',這樣的就不能達(dá)到過(guò)濾純數(shù)字的目的。

      這樣把所有的數(shù)字都轉(zhuǎn)化為空格,如果全部是由數(shù) 構(gòu)成,那么一旦trim后自然是空,實(shí)現(xiàn)了上述目標(biāo)。當(dāng)然如果想排除空項(xiàng)的話,可以這樣寫:

      代碼如下:

      select * from table where trim(translate(nvl(column,'x'),'0123456789',' ')) is NULL;--x 表示任何'0-9'以外的字符。

      2.使用regexp_like函數(shù):

      代碼如下:

      select * from table where regexp_like(column,'^[0-9]+[0-9]$');

      這里要注意的是:regexp_like函數(shù)不是在所有的oracle版本中 都能使用的。

      regexp_like是oracle支持正則表達(dá)式的四個(gè)函數(shù):regexp_like,regexp_replace,regexp_instr,regexp_substr中的 一個(gè),有關(guān)這方面更加詳細(xì)信息,請(qǐng)關(guān)注相關(guān)文檔。

      推薦教程:《Oracle視頻教程》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)