在oracle數據庫中一字段存在漢字和數字,取數字部分


方法一:regexp_replace

select t.achive_name,regexp_replace(t.achive_name,'[^0-9]') from T_ARCHIVE_CONTENT t where t.plan_id='402881ef5f702d62015f7128f2760089';

標簽:regexp_replace 正則 函數的參數說明:
一共6個參數,分別是
1、待匹配的字符串
2、正則表達式
3、替換的字符
4、標識從第幾個字符開始正則表達式匹配。(默認為1)
5、標識第幾個匹配組。(默認為全部都替換掉)
6、取值范圍:

方法二:regexp_substr

select t.achive_name,regexp_substr(t.achive_name,'[0-9]+') from T_ARCHIVE_CONTENT t ;

方法三:TRANSLATE('待替換字符串', '1234567890', ' ')

即:把待替換字符串中的數字替換為‘’

select t.achive_name,TRIM(TRANSLATE(t.achive_name, trim(TRANSLATE(t.achive_name, '1234567890', ' ')), ' '))
from T_ARCHIVE_CONTENT t ;

方法四:截取字符串  substr(str,0,2)

select t.achive_name,substr(t.achive_name,0,2) from T_ARCHIVE_CONTENT t ;

substr(string,start,length)

參數:

string - 指定的要截取的字符串

start - 必需,規定在字符串的何處開始

正數 - 在字符串的指定位置開始

負數 - 在從字符串結尾的指定位置開始

0 - 在字符串中的第一個字符處開始

length - 可選,指定要截取的字符串長度,缺省時返回字符表達式的值結束前的全部字符。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM