oracle數(shù)據(jù)庫截取字符串substr函數(shù)使用舉例
格式1:substr(string string,int index,int length)
理解:substr(被截取的字符串,下標(biāo)即開始截取的位置-整數(shù),截取的長度-整數(shù))
適用于有截取的長度限制的場景。
格式2:substr(string string,int index)
理解:substr(被截取的字符串,下標(biāo)即開始截取的位置-整數(shù))
適用于無長度限制,從下標(biāo)位置開始進(jìn)行截取一直截取到最后
注意:substr()函數(shù)中的下標(biāo)開始截取的位置,其中0和1指代的都是首位,沒有區(qū)別。當(dāng)下標(biāo)位置是負(fù)數(shù)時(shí),就是從右向左開始查找下標(biāo)位置,然后自下標(biāo)位置再從左往右開始截取。(很多解釋這個(gè)函數(shù)的,就是說從從右向左截取,這個(gè)說法是錯(cuò)誤的,不太理解多吧?沒事兒看例子吧,或許看后理解了)
舉例 格式1:
理解:substr(被截取的字符串,下標(biāo)即開始截取的位置-整數(shù),截取的長度-整數(shù))
適用于有截取的長度限制的場
select substr('世事洞明皆學(xué)問,人情練達(dá)即文章',1,2) from dual;--輸出‘世事'
select substr('世事洞明皆學(xué)問,人情練達(dá)即文章',0,2) from dual;--輸出‘世事' 開始位置0和1,結(jié)果是一樣的
select substr('世事洞明皆學(xué)問,人情練達(dá)即文章',2,3) from dual;--輸出‘事洞明'
當(dāng)開始位置為負(fù)數(shù)時(shí),對比結(jié)果,發(fā)現(xiàn)規(guī)律
select substr('世事洞明皆學(xué)問,人情練達(dá)即文章',-3,2) from dual;--輸出‘即文'
select substr('世事洞明皆學(xué)問,人情練達(dá)即文章',-4,2) from dual;--輸出‘達(dá)即'
select substr('世事洞明皆學(xué)問,人情練達(dá)即文章',-7,2) from dual;--輸出‘人情'
舉例 格式2:
格式2:substr(string string,int index)
理解:substr(被截取的字符串,下標(biāo)即開始截取的位置-整數(shù))
適用于無長度限制,從下標(biāo)位置開始進(jìn)行截取一直截取到最后
select substr('無人扶我青云志,我自踏雪至山巔',1) from dual;--輸出‘無人扶我青云志,我自踏雪至山巔'
select substr('無人扶我青云志,我自踏雪至山巔',0) from dual;--輸出‘無人扶我青云志,我自踏雪至山巔'
select substr('無人扶我青云志,我自踏雪至山巔',3) from dual;--輸出‘扶我青云志,我自踏雪至山巔'
當(dāng)開始位置為負(fù)數(shù)時(shí),對比結(jié)果,發(fā)現(xiàn)規(guī)律
select substr('無人扶我青云志,我自踏雪至山巔',-3) from dual;--輸出‘至山巔''
select substr('無人扶我青云志,我自踏雪至山巔',-4) from dual;--輸出‘雪至山巔'
select substr('無人扶我青云志,我自踏雪至山巔',-7) from dual;--輸出‘我自踏雪至山巔'
總結(jié)
到此這篇關(guān)于oracle數(shù)據(jù)庫截取字符串substr函數(shù)使用的文章就介紹到這了,更多相關(guān)oracle截取字符串substr函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- oracle截取字符(substr)檢索字符位置(instr)示例介紹
- Oracle通過正則表達(dá)式分割字符串 REGEXP_SUBSTR的代碼詳解
- oracle中l(wèi)ength、lengthb、substr、substrb函數(shù)用法介紹
- Oracle中instr和substr存儲過程詳解
- Oracle的substr和instr函數(shù)簡單用法
- oracle中的substr()函數(shù)用法實(shí)例詳解
- Oracle中的INSTR,NVL和SUBSTR函數(shù)的用法詳解
- Oracle中instr函數(shù)與substr函數(shù)及自制分割函數(shù)詳解
相關(guān)文章
Oracle 解決ORA-00257 Archiver error 報(bào)錯(cuò)問題解決
訂單投資交易環(huán)境進(jìn)行 impdb 數(shù)據(jù)泵恢復(fù)數(shù)據(jù),執(zhí)行到一半,報(bào)錯(cuò)終止,歸檔策略保留時(shí)間較長,或歸檔頻率過高,導(dǎo)致數(shù)據(jù)庫掛載盤符空間不足,本文給大家分享Oracle 解決ORA-00257 Archiver error 報(bào)錯(cuò)問題解決,感興趣的朋友一起看看吧2023-12-12
Oracle?11g數(shù)據(jù)庫常用對象創(chuàng)建與管理方法詳解
這篇文章主要介紹了Oracle?11g數(shù)據(jù)庫常用對象創(chuàng)建與管理的相關(guān)資料,Oracle 11g數(shù)據(jù)庫是企業(yè)級關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它提供了強(qiáng)大的數(shù)據(jù)管理功能,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-11-11
Oracle數(shù)據(jù)庫把多行轉(zhuǎn)一列逗號分割兩種方法
Oracle將行轉(zhuǎn)換為列是指將關(guān)系型數(shù)據(jù)庫中的行數(shù)據(jù)轉(zhuǎn)換為列數(shù)據(jù)的操作,這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫把多行轉(zhuǎn)一列逗號分割兩種方法的相關(guān)資料,需要的朋友可以參考下2024-07-07
Oracle expdp/impdp 及 exp/imp 命令詳解
使用Oracle數(shù)據(jù)庫的過程中會經(jīng)常對數(shù)據(jù)進(jìn)行導(dǎo)入導(dǎo)出,Oracle 數(shù)據(jù)庫提供 expdp / impdp (Data Pump,數(shù)據(jù)泵)以及 exp / imp 兩種工具進(jìn)行數(shù)據(jù)的導(dǎo)入導(dǎo)出,可以對數(shù)據(jù)庫進(jìn)行邏輯備份,這篇文章主要介紹了Oracle expdp/impdp 及 exp/imp 命令詳解,需要的朋友可以參考下2024-07-07
Oracle?查看后臺正在執(zhí)行的?SQL?語句(最新推薦)
本文給大家介紹了Oracle中查看后臺SQL的多種方法,包括查詢動態(tài)性能視圖(如v$session、v$sqlarea)、使用監(jiān)控工具(如OEM)及ASH,通過SQL_ID、執(zhí)行計(jì)劃和資源消耗等字段分析SQL性能與執(zhí)行狀態(tài),感興趣的朋友一起看看吧2025-07-07
Oracle 11g用戶修改密碼及加鎖解鎖功能實(shí)例代碼
這篇文章主要介紹了Oracle 11g用戶修改密碼及加鎖解鎖功能實(shí)例代碼,需要的朋友可以參考下2017-11-11

