PL SQL | Función SUBSTR

La función PLSQL SUBSTR se usa para extraer una substring de una string.
La función SUBSTR acepta tres parámetros que son input_string, start_position, length.
SUBSTR calcula las longitudes utilizando los caracteres definidos por el conjunto de caracteres de entrada. SUBSTRB usa bytes en lugar de caracteres.

Nota:

  • Si la posición es 0, entonces se trata como 1.
  • Si la posición es positiva, Oracle Database cuenta desde el comienzo de char para encontrar el primer carácter.
  • Si la posición es negativa, Oracle cuenta hacia atrás desde el final de char.
  • Si se omite substring_length, Oracle devuelve todos los caracteres al final de char. Si substring_length es menor que 1, Oracle devuelve nulo.

Sintaxis:

SUBSTR( input_string, start_position, length)

Parámetros utilizados:

  1. input_string: se utiliza para especificar la string de origen.
  2. start_position: se utiliza para especificar la posición de inicio para la extracción.
  3. longitud: es un parámetro opcional que se utiliza para especificar el número de caracteres a extraer.

Valor devuelto:
La función SUBSTR en PLSQL devuelve un valor de string.

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: Pasar los tres argumentos en la función SUBSTR.

DECLARE 
   Test_String string(25) := 'Geeksforgeeks';
   
BEGIN 
   dbms_output.put_line(SUBSTR(Test_String, '6', '3')); 
   
END;      

Producción:

for

Ejemplo-2: Omitir el argumento de longitud al pasar parámetros a la función SUBSTR.

DECLARE 
   Test_String string(25) := 'Geeksforgeeks';
   
BEGIN 
   dbms_output.put_line(SUBSTR(Test_String, '6')); 
   
END;    

Producción:

forgeeks 

Ejemplo-3: pasar un valor negativo en el argumento de posición_inicial mientras se pasan los parámetros a la función SUBSTR.

DECLARE 
   Test_String string(25) := 'Geeksforgeeks';
   
BEGIN 
   dbms_output.put_line(SUBSTR(Test_String, '-6', '3')); 
   
END;     

Producción:

rge 

La función SUBSTR comienza desde el final de la string y cuenta hacia atrás si el argumento de la posición inicial tiene un valor negativo.

Ejemplo-4: Pasar un valor en el argumento posición_inicial que es mayor que el número de caracteres en la string_entrada.

DECLARE 
   Test_String string(25) := 'Geeksforgeeks';
   
BEGIN 
   dbms_output.put_line(SUBSTR(Test_String, '-16', '3')); 
   
END; 

Producción:

NULL 

La función SUBSTR devuelve NULL ya que el número de caracteres presentes en input_string es menor que el valor pasado en el argumento de posición inicial.

Ventaja:
los números de coma flotante pasados ​​como argumentos a SUBSTR se convierten automáticamente en números enteros.

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 *