Oracle中判斷字段是否為數(shù)字
在我們平常的開發(fā)中可能會遇到這樣的問題,就是判斷某一列是否全部由數(shù)字組成,我們都知道oracle并沒有給我們提供這樣一個現(xiàn)成的函數(shù),那么根據(jù)我的經(jīng)驗我總結(jié)了兩個行之有效的方法(列名:column,表名:table):
1.使用trim+translate函數(shù):
這里要注意的是:translate函數(shù)的第三個參數(shù)是一個空格,不是'', 因為translate的第三個參數(shù)如果為空的話,那么永遠(yuǎn)返回'',這樣的就不能達到過濾純數(shù)字的目的。這樣把所有的數(shù)字都轉(zhuǎn)化為空格,如果全部是由數(shù) 構(gòu)成,那么一旦trim后自然是空,實現(xiàn)了上述目標(biāo)。當(dāng)然如果想排除空項的話,可以這樣寫:
2.使用regexp_like函數(shù):
這里要注意的是: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)鍵點的整理,包括多表和大表查詢等情況的四個方面的講解,需要的朋友可以參考下2016-01-01Oracle中查詢表結(jié)構(gòu)的6種方法總結(jié)
工作中查看oracle表結(jié)構(gòu)經(jīng)常會遇到,下面這篇文章主要給大家介紹了關(guān)于Oracle中查詢表結(jié)構(gòu)的6種方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04Oracle的CLOB大數(shù)據(jù)字段類型操作方法
VARCHAR2既分PL/SQL Data Types中的變量類型,也分Oracle Database中的字段類型,不同場景的最大長度不同。接下來通過本文給大家分享Oracle的CLOB大數(shù)據(jù)字段類型操作方法,感興趣的朋友一起看看吧2017-08-08Oracle 阻塞(blocking blocked)介紹和實例演示
這篇文章主要介紹了Oracle 阻塞(blocking blocked)介紹和實例演示,如何定位當(dāng)前系統(tǒng)有哪些阻塞,到底誰是阻塞者,誰是被阻塞者,本文對此給出了描述并做了相關(guān)演示,需要的朋友可以參考下2014-09-09Oracle連續(xù)相同數(shù)據(jù)的統(tǒng)計
今天小編就為大家分享一篇關(guān)于Oracle連續(xù)相同數(shù)據(jù)的統(tǒng)計,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01plsql 連接oracle數(shù)據(jù)庫詳細(xì)配置的方法步驟
這篇文章主要介紹了plsql 連接oracle數(shù)據(jù)庫詳細(xì)配置的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09