Oracle中判斷字段是否為數(shù)字
在我們平常的開發(fā)中可能會遇到這樣的問題,就是判斷某一列是否全部由數(shù)字組成,我們都知道oracle并沒有給我們提供這樣一個現(xiàn)成的函數(shù),那么根據(jù)我的經(jīng)驗我總結(jié)了兩個行之有效的方法(列名:column,表名:table):
1.使用trim+translate函數(shù):
這里要注意的是:translate函數(shù)的第三個參數(shù)是一個空格,不是'', 因為translate的第三個參數(shù)如果為空的話,那么永遠返回'',這樣的就不能達到過濾純數(shù)字的目的。這樣把所有的數(shù)字都轉(zhuǎn)化為空格,如果全部是由數(shù) 構(gòu)成,那么一旦trim后自然是空,實現(xiàn)了上述目標。當然如果想排除空項的話,可以這樣寫:
2.使用regexp_like函數(shù):
這里要注意的是:regexp_like函數(shù)不是在所有的oracle版本中 都能使用的。regexp_like是oracle支持正則表達式的四個函數(shù):regexp_like,regexp_replace,regexp_instr,regexp_substr中的 一個,有關(guān)這方面更加詳細信息,請關(guān)注相關(guān)文檔。
總結(jié)一下,如果oracle支持regexp_like函數(shù),推薦使用正則的方式,如果不支持則用trim+translate這種方式。
相關(guān)文章
Oracle針對數(shù)據(jù)庫某一行進行操作的時候,如何將這一行加行鎖
Oracle針對數(shù)據(jù)庫某一行進行操作的時候,如何將這一行加行鎖的實現(xiàn)方法2009-02-02
Oracle的PDB數(shù)據(jù)庫創(chuàng)建DIRECTORY時遇到ORA-65254問題及解決方法
這篇文章主要介紹了Oracle的PDB數(shù)據(jù)庫創(chuàng)建DIRECTORY時遇到ORA-65254問題,本文給大家分享完美解決方案,需要的朋友可以參考下2023-06-06
Oracle數(shù)據(jù)庫時間格式轉(zhuǎn)換的常見示例
這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫時間格式轉(zhuǎn)換的常見示例,在實際的工作中會經(jīng)常會用到to_char()、to_date()函數(shù)來對時間、日期進行處理,文中給出了詳細的代碼示例,需要的朋友可以參考下2024-02-02
在oracle 數(shù)據(jù)庫中查看一個sql語句的執(zhí)行時間和SP2-0027錯誤
oracle 數(shù)據(jù)庫中查看一個sql語句的執(zhí)行時間和SP2-0027錯誤的解決方法2009-10-10
WIN7下ORACLE10g服務(wù)端和客戶端的安裝圖文教程
WIN7下安裝ORACLE10gd的服務(wù)端和客戶端的方法,在安裝之前需要先卸載oracle 10g,具體安裝方法和詳細說明大家可以參考下本文2017-07-07

