PL SQL | Función INSTR4

La función PLSQL INSTR4 se usa para devolver la ubicación de una substring en una string usando puntos de código UCS4. Los puntos de código UCS-4 son una codificación de caracteres que permite la representación de cada valor exactamente como cuatro bytes (una palabra de 32 bits). UCS-4 representa un valor posible entre 0 y 7FFFFFFFF hexadecimal para cada carácter. 

La función PLSQL INSTR4 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 INSTR4 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: 

INSTR4(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 INSTR4 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(INSTR4(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(INSTR4(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(INSTR4(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(INSTR4(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(INSTR4(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 *