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:
- input_string: se utiliza para especificar la string de origen.
- start_position: se utiliza para especificar la posición de inicio para la extracción.
- 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:
- Oráculo 12c
- oráculo 11g
- oráculo 10g
- oráculo 9i
- 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