PL SQL | Función INSTR2

La función PLSQL INSTR2 se usa para devolver la ubicación de una substring en una string usando puntos de código UCS2. Los puntos de código UCS-2 son un estándar de codificación de caracteres en el que los caracteres se representan mediante una longitud fija de 16 bits (2 bytes). UCS-2 representa un máximo posible de 65, 536 caracteres, o en hexadecimales desde 0000h – FFFFh (2 bytes). 

La función PLSQL INSTR2 busca una string para una substring especificada por el usuario usando caracteres y devuelve la posición en la string que es el primer carácter de una aparición específica de la substring. La función PLSQL INSTR2 acepta cuatro parámetros que son string, substring, posición de inicio y la n-ésima apariencia. 
La string y la substring pueden ser de cualquiera de los tipos de datos, como CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB o NCLOB. 

Sintaxis: 

INSTR2(string, substring [, start_position [, nth_appearance ]])

Parámetros utilizados:  

  • string: se utiliza para especificar la string en la que se debe buscar la substring. Puede ser cualquiera de los tipos de datos CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB o NCLOB.
  • substring: se utiliza para especificar la substring que debe buscarse. Puede ser cualquiera de los tipos de datos CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB o NCLOB.
  • start_position: es un parámetro opcional que se usa para especificar la posición en la string desde donde comenzará la búsqueda. El valor predeterminado es 1. La función INSTR2 cuenta hacia atrás hasta posición_inicial el número de caracteres desde el final de la string y luego busca hacia el principio de la string si el valor insertado es negativo.
  • n-ésima aparición: es un parámetro opcional que se utiliza para especificar la n-ésima aparición de la substring. El valor predeterminado es 1.

Versiones compatibles de Oracle/PLSQL:  

  1. Oráculo 12c
  2. oráculo 11g
  3. oráculo 10g
  4. oráculo 9i
  5. oráculo 8i

Ejemplo-1: uso de caracteres para buscar hacia adelante para encontrar la posición de una substring.  

DECLARE 
   Test_String string(20) := 'Geeksforgeeks';
   
   
BEGIN 
   dbms_output.put_line(INSTR2(Test_String, 'e')); 
   
END;  

Producción:  

2 

Ejemplo-2: uso de la posición del carácter para buscar hacia adelante para encontrar la posición de una substring.  

DECLARE 
   Test_String string(20) := 'Geeksforgeeks';
      
BEGIN 
   dbms_output.put_line(INSTR2(Test_String, 'e', 1, 1)); 
   
END;  

Producción:  

2 

Ejemplo-3: uso de la posición del carácter para buscar hacia adelante para encontrar la posición de una substring en la tercera posición.  

DECLARE 
   Test_String string(20) := 'Geeksforgeeks';
   
BEGIN 
   dbms_output.put_line(INSTR2(Test_String, 'e', 1, 3)); 
   
END; 

Producción:  

10 

Ejemplo-4: uso de la posición del carácter para buscar hacia atrás para encontrar la posición de una substring.  

DECLARE 
   Test_String string(20) := 'Geeksforgeeks';
   
BEGIN 
   dbms_output.put_line(INSTR2(Test_String, 'e', -2, 1)); 
   
END; 

Producción:  

11 

Ejemplo-5: uso de un juego de caracteres de triple byte para encontrar la posición de una substring.  

DECLARE 
   Test_String string(20) := 'Geeksforgeeks';
   
BEGIN 
   dbms_output.put_line(INSTR2(Test_String, 'for', 1, 1)); 
   
END;  

Producción:  

6 

Publicación traducida automáticamente

Artículo escrito por Shubrodeep Banerjee y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *