instr函式為字元查找函式,其功能是查找一個字元串在另一個字元串中首次出現的位置。instr函式在Oracle/PLSQL中是返回要截取的字元串在源字元串中的位置。
基本介紹
- 中文名:instr
- 外文名:instr
- 作用:字元串查找
- 套用:VB,VBS,Oracle
- 可選參數:start
Oracle
語法
參數
注意
如果String2在String1中沒有找到,instr函式返回0。 示例:
SELECT instr('syranmo','s') FROM dual; -- 返回 1
SELECT instr('syranmo','ra') FROM dual; -- 返回 3
SELECT instr('syran mo','at',1,2) FROM dual; -- 返回 0
示例
1 select instr('helloworld','l') from dual; --返回結果:3 默認第一次出現“l”的位置2 select instr('helloworld','lo') from dual; --返回結果:4 即:在“lo”中,“l”開始出現的位置3 select instr('helloworld','wo') from dual; --返回結果:6 即“w”開始出現的位置
VB和VBS
函式原型
InStr([start,]string1,string2[,compare])
表達式
參數
- start
可選參數。為數值表達式,設定每次搜尋的起點。如果省略,將從第一個字元的位置開始。如果 start 包含 Null,將發生錯誤。如果指定了 compare 參數,則一定要有 start 參數。 - string1
必要參數。接受搜尋的字元串表達式。 - string2
必要參數。被搜尋的字元串表達式。 - compare
可選參數。指定字元串比較。如果 compare 是 Null,將發生錯誤。如果省略 compare,Option Compare 的設定將決定比較的類型。
常數 | 值 | 描述 |
vbUseCompareOption | -1 | 使用Option Compare 語句設定執行一個比較。 |
vbBinaryCompare | 0 | 執行一個二進制比較(即 英文字元區分大小寫)。 |
vbTextCompare | 1 | 執行一個按照原文的比較(即 英文字元不區分大小寫)。 |
vbDatabaseCompare | -2 | 僅適用於Microsoft Access,執行一個基於資料庫信息比較。 |
返回值
示例
DimSearchString,SearchChar,MyPosSearchString="XXpXXpXXPXXP"'被搜尋的字元串。SearchChar="P"'要查找字元串"P"。'-------------------------------------'從第四個字元開始,以文本比較的方式找起。返回值為6(小寫p)。'小寫p和大寫P在文本比較下是一樣的。MyPos=Instr(4,SearchString,SearchChar,1)'--------------------------------------'從第一個字元開始,以二進制比較的方式找起。返回值為9(大寫P)。'小寫p和大寫P在二進制比較下是不一樣的。MyPos=Instr(1,SearchString,SearchChar,0)'--------------------------------------'預設的比對方式為二進制比較(最後一個參數可省略)。MyPos=Instr(SearchString,SearchChar)'返回9。MyPos=Instr(1,SearchString,"W")'返回0。