INSTR (Español)
Sintaxis
Descripción del illustration instr.gif
Propósito
Las funciones de INSTR
buscan string
para substring
. La función devuelve un número entero que indica la posición del carácter en string
que es el primer carácter de esta ocurrencia. INSTR
calcula cadenas utilizando caracteres definidos por el conjunto de caracteres de entrada. INSTRB
usa bytes en lugar de caracteres. INSTRC
usa caracteres completos Unicode. INSTR2
usa puntos de código UCS2. INSTR4
usa puntos de código UCS4.
-
position
es un número entero distinto de cero que indica el carácter destring
donde Oracle Database comienza la búsqueda. Siposition
es negativo, Oracle cuenta hacia atrás desde el final destring
y luego busca hacia atrás desde la posición resultante. -
occurrence
es un número entero que indica qué ocurrencia destring
Oracle debe buscar. El valor deoccurrence
debe ser positivo.
Tanto string
y substring
puede ser cualquiera de los tipos de datos CHAR
, VARCHAR2
, NCHAR
, NVARCHAR2
, CLOB
o NCLOB
. El valor devuelto es de NUMBER
tipo de datos.
Tanto position
y occurrence
debe ser del tipo de datos NUMBER
, o cualquier tipo de datos que se pueda convertir implícitamente a NUMBER
, y debe resolverse en un número entero. Los valores predeterminados de position
y occurrence
son 1, lo que significa que Oracle comienza a buscar en el primer carácter de string
para la primera aparición de substring
. El valor de retorno es relativo al comienzo de string
, independientemente del valor de position
, y se expresa en caracteres. Si la búsqueda no tiene éxito (si substring
no aparece occurrence
veces después del carácter position
de string
), el valor devuelto es 0.
Consulte también:
Tabla 2-10, «Matriz de conversión de tipos implícitos» para obtener más información sobre la conversión implícita
Ejemplos
El siguiente ejemplo busca la cadena CORPORATE
FLOOR
, comenzando con el tercer carácter, para la cadena «OR
«. Devuelve la posición en CORPORATE
FLOOR
en la que comienza la segunda aparición de «OR
» :
SELECT INSTR("CORPORATE FLOOR","OR", 3, 2) "Instring" FROM DUAL; Instring---------- 14
En el siguiente ejemplo, Oracle cuenta hacia atrás desde el último carácter hasta el tercer carácter desde el final, que es el primer O
en FLOOR
. Luego, Oracle busca hacia atrás la segunda aparición de OR
y encuentra que esta segunda aparición comienza con el segundo carácter en la cadena de búsqueda:
SELECT INSTR("CORPORATE FLOOR","OR", -3, 2)"Reversed Instring" FROM DUAL; Reversed Instring----------------- 2
El siguiente ejemplo asume un conjunto de caracteres de base de datos de doble byte.
SELECT INSTRB("CORPORATE FLOOR","OR",5,2) "Instring in bytes" FROM DUAL;Instring in bytes----------------- 27