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

Oracle中判斷字段是否為數(shù)字

 更新時間:2016年05月24日 10:04:03   作者:秦風(fēng)  
本文分別介紹使用trim+translate函數(shù)或regexp_like函數(shù)判斷表中的某個字段是否為數(shù)字的方法,希望對大家有所幫助。

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

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

復(fù)制代碼 代碼如下:
select * from table where trim(translate(column,'0123456789',' ')) is NULL;

  這里要注意的是:translate函數(shù)的第三個參數(shù)是一個空格,不是'', 因為translate的第三個參數(shù)如果為空的話,那么永遠(yuǎn)返回'',這樣的就不能達到過濾純數(shù)字的目的。這樣把所有的數(shù)字都轉(zhuǎn)化為空格,如果全部是由數(shù) 構(gòu)成,那么一旦trim后自然是空,實現(xiàn)了上述目標(biāo)。當(dāng)然如果想排除空項的話,可以這樣寫:

復(fù)制代碼 代碼如下:
select * from table where trim(translate(nvl(column,'x'),'0123456789',' ')) is NULL;--x 表示任何'0-9'以外的字符。

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

復(fù)制代碼 代碼如下:
select * from table where regexp_like(column,'^[0-9]+[0-9]$');

  這里要注意的是:regexp_like函數(shù)不是在所有的oracle版本中 都能使用的。regexp_like是oracle支持正則表達式的四個函數(shù):regexp_like,regexp_replace,regexp_instr,regexp_substr中的 一個,有關(guān)這方面更加詳細(xì)信息,請關(guān)注相關(guān)文檔。

總結(jié)一下,如果oracle支持regexp_like函數(shù),推薦使用正則的方式,如果不支持則用trim+translate這種方式。

相關(guān)文章

  • 整理Oracle數(shù)據(jù)庫中數(shù)據(jù)查詢優(yōu)化的一些關(guān)鍵點

    整理Oracle數(shù)據(jù)庫中數(shù)據(jù)查詢優(yōu)化的一些關(guān)鍵點

    這篇文章主要介紹了Oracle數(shù)據(jù)庫中數(shù)據(jù)查詢優(yōu)化的一些關(guān)鍵點的整理,包括多表和大表查詢等情況的四個方面的講解,需要的朋友可以參考下
    2016-01-01
  • oracle錯誤代碼大全(超詳細(xì))

    oracle錯誤代碼大全(超詳細(xì))

    本篇文章是對oracle錯誤代碼進行了詳細(xì)的總結(jié)與分析,需要的朋友參考下
    2013-05-05
  • Oracle中查詢表結(jié)構(gòu)的6種方法總結(jié)

    Oracle中查詢表結(jié)構(gòu)的6種方法總結(jié)

    工作中查看oracle表結(jié)構(gòu)經(jīng)常會遇到,下面這篇文章主要給大家介紹了關(guān)于Oracle中查詢表結(jié)構(gòu)的6種方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • oracle行轉(zhuǎn)列方法集合匯總(推薦!)

    oracle行轉(zhuǎn)列方法集合匯總(推薦!)

    工作中我們經(jīng)常會碰到行轉(zhuǎn)列的情況,下面這篇文章主要給大家介紹了關(guān)于oracle行轉(zhuǎn)列方法集合的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • Oracle的CLOB大數(shù)據(jù)字段類型操作方法

    Oracle的CLOB大數(shù)據(jù)字段類型操作方法

    VARCHAR2既分PL/SQL Data Types中的變量類型,也分Oracle Database中的字段類型,不同場景的最大長度不同。接下來通過本文給大家分享Oracle的CLOB大數(shù)據(jù)字段類型操作方法,感興趣的朋友一起看看吧
    2017-08-08
  • oracle 常見等待事件及處理方法

    oracle 常見等待事件及處理方法

    我們可以通過視圖v$session_wait來查看系統(tǒng)當(dāng)前的等待事件,以及與等待事件相對應(yīng)的資源的相關(guān)信息
    2009-03-03
  • Oracle 阻塞(blocking blocked)介紹和實例演示

    Oracle 阻塞(blocking blocked)介紹和實例演示

    這篇文章主要介紹了Oracle 阻塞(blocking blocked)介紹和實例演示,如何定位當(dāng)前系統(tǒng)有哪些阻塞,到底誰是阻塞者,誰是被阻塞者,本文對此給出了描述并做了相關(guān)演示,需要的朋友可以參考下
    2014-09-09
  • Oracle連續(xù)相同數(shù)據(jù)的統(tǒng)計

    Oracle連續(xù)相同數(shù)據(jù)的統(tǒng)計

    今天小編就為大家分享一篇關(guān)于Oracle連續(xù)相同數(shù)據(jù)的統(tǒng)計,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • plsql 連接oracle數(shù)據(jù)庫詳細(xì)配置的方法步驟

    plsql 連接oracle數(shù)據(jù)庫詳細(xì)配置的方法步驟

    這篇文章主要介紹了plsql 連接oracle數(shù)據(jù)庫詳細(xì)配置的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Oracle 11g2的監(jiān)聽器配置教程

    Oracle 11g2的監(jiān)聽器配置教程

    Oracle的監(jiān)聽器服務(wù)注冊方式有兩種,分別為動態(tài)和靜態(tài),本文將詳細(xì)介紹這兩種,需要的朋友可以參考下
    2012-11-11

最新評論