我想截取一段字串得后幾位 但是位數不固定,oracle sql 需要怎么寫。。。
比如16_4253116201_3600*1*4這個字串 有可能取后6位 后7位 后8位這個sql怎么寫呢
uj5u.com熱心網友回復:
substr函式,至于后幾位如果不固定,你就寫個函式就行啦,讓位數作為引數傳入uj5u.com熱心網友回復:
--用substr,先獲取字串的長度,用長度減去需要截取的長度再加1就可以得到從第幾位開始截取,最后的引數是截取的長度SELECT SUBSTR('16_4253116201_3600*1*4',
LENGTH('16_4253116201_3600*1*4') - 6+1,
6)
FROM DUAL;
uj5u.com熱心網友回復:
想截取多少傳值多少,-6,-7,-8;有問問題這個時間,多查一下檔案多好。
select substr('16_4253116201_3600*1*4',-6) from dual;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/19527.html
標籤:基礎和管理
上一篇:ORACLE 部門表動態行列轉換
下一篇:從字串中抓取相同的字符
