INSTR (Italiano)
Sintassi
Descrizione del illustrazione instr.gif
Scopo
Le funzioni INSTR
cercano string
per substring
. La funzione restituisce un numero intero che indica la posizione del carattere in string
che è il primo carattere di questa occorrenza. INSTR
calcola le stringhe utilizzando i caratteri definiti dal set di caratteri di input. INSTRB
utilizza byte anziché caratteri. INSTRC
utilizza caratteri completi Unicode. INSTR2
utilizza i punti di codice UCS2. INSTR4
utilizza punti di codice UCS4.
-
position
è un numero intero diverso da zero che indica il carattere distring
dove Oracle Database inizia la ricerca. Seposition
è negativo, Oracle conta all’indietro dalla fine distring
e quindi cerca all’indietro dalla posizione risultante. -
occurrence
è un numero intero che indica quale occorrenza distring
Oracle dovrebbe cercare. Il valore dioccurrence
deve essere positivo.
Sia string
e substring
può essere uno qualsiasi dei tipi di dati CHAR
, VARCHAR2
, NCHAR
, NVARCHAR2
, CLOB
o NCLOB
. Il valore restituito è del NUMBER
tipo di dati.
Sia position
che occurrence
deve essere del tipo di dati NUMBER
o qualsiasi tipo di dati che può essere convertito implicitamente in NUMBER
e deve essere risolto in un numero intero. I valori predefiniti di position
e occurrence
sono 1, il che significa che Oracle inizia la ricerca dal primo carattere di string
per la prima occorrenza di substring
. Il valore restituito è relativo all’inizio di string
, indipendentemente dal valore di position
, ed è espresso in caratteri. Se la ricerca non riesce (se substring
non viene visualizzato occurrence
volte dopo il carattere position
di string
), il valore restituito è 0.
Vedi anche:
Tabella 2-10, “Matrice di conversione implicita del tipo” per ulteriori informazioni sulla conversione implicita
Esempi
Il seguente esempio cerca la stringa CORPORATE
FLOOR
, che inizia con il terzo carattere, per la stringa “OR
“. Restituisce la posizione in CORPORATE
FLOOR
in cui inizia la seconda occorrenza di “OR
” :
SELECT INSTR("CORPORATE FLOOR","OR", 3, 2) "Instring" FROM DUAL; Instring---------- 14
Nell’esempio successivo, Oracle conta all’indietro dall’ultimo carattere al terzo carattere dalla fine, che è il primo O
in FLOOR
. Oracle quindi cerca all’indietro la seconda occorrenza di OR
e trova che questa seconda occorrenza inizia con il secondo carattere nella stringa di ricerca:
SELECT INSTR("CORPORATE FLOOR","OR", -3, 2)"Reversed Instring" FROM DUAL; Reversed Instring----------------- 2
L’esempio successivo presuppone un set di caratteri del database a doppio byte.
SELECT INSTRB("CORPORATE FLOOR","OR",5,2) "Instring in bytes" FROM DUAL;Instring in bytes----------------- 27