INSTR (Magyar)
Szintaxis
A ábra instr.gif
Cél
A INSTR
függvények keresése string
a substring
. A függvény egy egész számot ad vissza, amely jelzi a karakter helyét a string
-ban, ez az előfordulás első karaktere. INSTR
a karakterláncokat a bemeneti karakterkészlet által meghatározott karakterek felhasználásával számítja ki. A INSTRB
bájtokat használ karakterek helyett. A INSTRC
Unicode teljes karaktereket használ. A INSTR2
UCS2 kódpontokat használ. A INSTR4
UCS4 kódpontokat használ.
-
position
egy nem nulla egész szám, amely astring
ahol az Oracle Database megkezdi a keresést. Ha aposition
negatív, akkor az Oracle astring
végétől visszafelé számít, majd az eredményül kapott pozícióból visszafelé keres. -
occurrence
egy egész szám, amely jelzi, hogy azstring
melyik előfordulására kell keresnie az Oracle-nek. Aoccurrence
értékének pozitívnak kell lennie.
string
és substring
bármelyik adattípus lehet CHAR
, VARCHAR2
, NCHAR
, NVARCHAR2
, CLOB
vagy NCLOB
. A visszaadott érték NUMBER
adattípus.
Mind a position
, mind a occurrence
adattípusnak NUMBER
kell lennie, vagy bármilyen adattípusnak, amelyet implicit módon átalakíthat NUMBER
-re, és egész számra kell feloldania. A position
és a occurrence
alapértelmezett értéke 1, vagyis az Oracle a string
a substring
első előfordulásához. A visszatérési érték a string
elejéhez viszonyítva, függetlenül a position
értékétől, és karakterekben van kifejezve. Ha a keresés sikertelen (ha substring
nem jelenik meg occurrence
alkalommal a position
karakter után string
), akkor a visszatérési érték 0.
Lásd még:
2-10. táblázat: “Implicit típusú konverziós mátrix” további információk az implicit konverzióról
Példák
Az alábbi példa a CORPORATE
FLOOR
, a harmadik karakterrel kezdődően az “OR
” karakterláncra. Visszaadja a CORPORATE
FLOOR
pozíciót, amelynél az “OR
” második előfordulása megkezdődik. :
SELECT INSTR("CORPORATE FLOOR","OR", 3, 2) "Instring" FROM DUAL; Instring---------- 14
A következő példában az Oracle visszaszámol az utolsó karaktertől a harmadik karakterig a végétől, amely az első O
itt: FLOOR
. Ezután az Oracle visszakeresi az OR
második előfordulását, és megállapítja, hogy ez a második előfordulás a keresési karakterlánc második karakterével kezdődik:
SELECT INSTR("CORPORATE FLOOR","OR", -3, 2)"Reversed Instring" FROM DUAL; Reversed Instring----------------- 2
A következő példa kettős bájtos adatbázis-karakterkészletet feltételez.
SELECT INSTRB("CORPORATE FLOOR","OR",5,2) "Instring in bytes" FROM DUAL;Instring in bytes----------------- 27