La función Oracle Substr es una función incorporada que se utiliza para extraer una subcadena de una cadena. La función toma tres argumentos: la cadena de origen, la posición inicial de la subcadena y la longitud de la subcadena. La función devuelve la subcadena especificada de la cadena de origen.
La función subStr es útil para una amplia gama de tareas que implican trabajar con cuerdas en Oracle. Se puede usar para extraer sustras de cadenas de ancho fijo, para extraer los primeros o últimos caracteres de una cadena, o para extraer sustros basados en patrones o delimitadores específicos.
La sintaxis de la función substr es sencilla. La función se usa típicamente en una instrucción SELECT, donde se puede combinar con otras funciones de cadena y cláusulas SQL para manipular y analizar datos de cadenas.
Este artículo discutirá la sintaxis y el uso de la función Oracle Substr, junto con algunos ejemplos para ayudarlo a comenzar a utilizar esta función en sus propias consultas y aplicaciones.
Definición de sintaxis de funciones
A continuación se muestra la sintaxis para la función subStr () en Oracle:
SubStr (fuente_string, start_position, longitud)
Los argumentos de la función son los siguientes:
Uso de la función de ejemplo
Descubra algunos ejemplos de cómo usar la función subStr () en las bases de datos Oracle.
Una demostración de ejemplo simple es como se muestra:
Seleccione subStr ('Hello World', 4, 6) como Res de Dual;
En el ejemplo anterior, la función SubStr () extraerá la subcontración de la longitud 6 de la cadena "Hello World". La función comenzará en la posición 4, que se refiere al quinto carácter de la cadena.
Los personajes de espacios en blanco también se consideran caracteres válidos.
El código anterior debe devolver la cadena resultante como:
Ejemplo 2
También podemos especificar un valor negativo para la posición inicial cuando trabajamos con la función subStr (). En tal caso, la función iniciará la posición desde el lado derecho de la cadena.
Un ejemplo es como se muestra:
Seleccione subStr ('Hello World', -4, 6) como Res de Dual;
Producción:
Como puede ver, la función extrae los últimos cuatro caracteres de la cadena.
Ejemplo 3
También podemos usar la función subStr () con una columna de tabla para extraer valores específicos de una cadena de entrada dada.
Una demostración de ejemplo es como se muestra:
Tabla fuente:
Crear tabla sample_data
(
número de identificación,
First_Name varchar2 (50),
ip_address varchar2 (20),
btc_address varchar2 (50),
Credit_Card Varchar2 (50),
Identificador VARCHAR2 (40),
restricción sample_pk clave primaria (ID)
);
Insertar en sample_data (id, first_name, ip_address, btc_address, credit_card, identificador)
Valores (1, 'Wallas', '169.158.70.77 ',' 1cnz5d1d5sc8sar6dfsvihwztqyx5fg777 ',' 4017955174552 ',
'26811D77-0A3A-4397-BC33-F7835F7C7AB9');
Insertar en sample_data (id, first_name, ip_address, btc_address, credit_card, identificador)
Valores (2, 'Ian', '148.190.10.178 ',' 1ADXBV7N9JEDDCB8PL24J9WV54MCSRHDU7 ',' 4017956704480827 ',
'A69FE590-BC1B-4001-8FF8-154BCDB5802D');
Insertar en sample_data (id, first_name, ip_address, btc_address, credit_card, identificador)
Valores (3, 'Pasquale', '150.86.18.140 ',' 126HVKOM2FOY9LEA6M4PUAT1H97C2RSD8B ',' 4017953296787867 ',
'34AC9385-9E1E-4D13-9537-C4EEDB9F2C35');
Insertar en sample_data (id, first_name, ip_address, btc_address, credit_card, identificador)
valores (4, 'Devi', '241.230.243.196 ',' 1d9fysxn9f3akpzfxk9oijpette9ybynpx ',' 4017953082740 ',
'BA67EB8D-FABA-46CE-BA4F-67BA75E10838');
Insertar en sample_data (id, first_name, ip_address, btc_address, credit_card, identificador)
Valores (5, 'Sylvester', '82.51.73.188 ',' 1vbzq6orgtxpgmhtfpsku12jxfo3rvsh8 ',' 4041379082464 ',
'30CCA1E2-575F-4333-90EC-25CB04B43E52');
Insertar en sample_data (id, first_name, ip_address, btc_address, credit_card, identificador)
valores (6, 'Germaine', '7.235.247.115 ',' 15hri9bpcefikzjruapvtfdcagyhbc6hvx ',' 4017959839721 ',
'7EC7D3FD-C140-4B33-B97B-94C06451AA73');
Insertar en sample_data (id, first_name, ip_address, btc_address, credit_card, identificador)
Valores (7, 'Alix', '63.31.160.54 ',' 1NYHTXE635UXWRA5UV5W8T8MN7XXFBDAJE ',' 4017953212669215 ',
'3120F1D4-3586-41D9-A3ED-1E50F335A124');
Insertar en sample_data (id, first_name, ip_address, btc_address, credit_card, identificador)
Valores (8, 'Babita', '208.85.91.138 ',' 1huxjtnfctij2l8l1z1qif37kmkflyxltx ',' 4017955405862390 ',
'0739C5F8-853C-47DE-AFEE-1AEA104BD236');
Insertar en sample_data (id, first_name, ip_address, btc_address, credit_card, identificador)
Valores (9, 'granate', '31.79.138.52 ',' 1LKJKUBDNMXXI5UJ7H2BT7S732FV9QYTPQ ',' 4017956748784 ',
'034ACB80-7A69-4E94-A424-FBEAFB7C97BA');
Insertar en sample_data (id, first_name, ip_address, btc_address, credit_card, identificador)
Valores (10, 'Lucía', '153.191.2.219 ',' 1GA1DHCZTSSS7HAFVKMOA4C1NG6TPKNTKZ ',' 4017957698631755 ',
'E111E195-C5DA-406B-BEB3-D8791D8EA5B7');
Si deseamos extraer los últimos cuatro números de la columna Credit_Card, podemos ejecutar una consulta como se muestra:
Seleccione First_Name, IP_Address, Substr (Credit_Card, -4, 5) como Masked_Card de sample_data sd;
Resultado:
Conclusión
La función subStr a menudo se combina con otras cadenas, como la longitud e Instr, para manipular y analizar cadenas en Oracle. Puede ser útil para tareas tales como extraer subcadenas de cadenas de ancho fijo, extraer los primeros o los últimos caracteres de una cadena, o extraer subcadenas basadas en patrones o delimitadores específicos.