INSTR (Română)
Sintaxă
Descrierea illustration instr.gif
Scop
Căutarea funcțiilor INSTR
string
pentru substring
. Funcția returnează un număr întreg care indică poziția caracterului din string
care este primul caracter al acestei apariții. INSTR
calculează șirurile folosind caractere definite de setul de caractere de intrare. INSTRB
folosește octeți în loc de caractere. INSTRC
utilizează caractere complete Unicode. INSTR2
utilizează puncte de cod UCS2. INSTR4
folosește puncte de cod UCS4.
-
position
este un întreg diferit de zero care indică caracterulstring
unde Oracle Database începe căutarea. Dacăposition
este negativ, atunci Oracle contează înapoi de la sfârșitulstring
și apoi caută înapoi din poziția rezultată. -
occurrence
este un număr întreg care indică aparițiastring
pe care Oracle ar trebui să o caute. Valoareaoccurrence
trebuie să fie pozitivă.
Atât string
, cât și substring
poate fi oricare dintre tipurile de date CHAR
, VARCHAR2
, NCHAR
, NVARCHAR2
, CLOB
sau NCLOB
. Valoarea returnată este de NUMBER
tip de date.
Ambele position
și occurrence
trebuie să aibă un tip de date NUMBER
sau orice tip de date care poate fi implicit convertit în NUMBER
și trebuie să se rezolve într-un număr întreg. Valorile implicite ale position
și occurrence
sunt 1, ceea ce înseamnă că Oracle începe să caute la primul caracter din string
pentru prima apariție a substring
. Valoarea returnată este relativă la începutul string
, indiferent de valoarea position
și este exprimată în caractere. Dacă căutarea nu reușește (dacă substring
nu apare occurrence
ori după caracterul position
din string
), atunci valoarea returnată este 0.
Vezi și:
Tabelul 2-10, „Matrice de conversie a tipului implicit” pentru mai multe informații despre conversia implicită
Exemple
Următorul exemplu caută șirul CORPORATE
FLOOR
, începând cu al treilea caracter, pentru șirul „OR
„. Returnează poziția în CORPORATE
FLOOR
la care începe a doua apariție a „OR
” :
SELECT INSTR("CORPORATE FLOOR","OR", 3, 2) "Instring" FROM DUAL; Instring---------- 14
În exemplul următor, Oracle contează înapoi de la ultimul caracter până la al treilea caracter de la sfârșit, care este primul O
în FLOOR
. Oracle caută apoi înapoi pentru a doua apariție a OR
și constată că această a doua apariție începe cu al doilea caracter din șirul de căutare:
SELECT INSTR("CORPORATE FLOOR","OR", -3, 2)"Reversed Instring" FROM DUAL; Reversed Instring----------------- 2
Următorul exemplu presupune un set de caractere de bază de date cu doi octeți.
SELECT INSTRB("CORPORATE FLOOR","OR",5,2) "Instring in bytes" FROM DUAL;Instring in bytes----------------- 27