En este tutorial, vamos a discutir el uso de la función regexp_like () en las bases de datos Oracle. Esta función nos permite realizar un patrón de expresión regular que coincide en un conjunto dado de valores.
Oracle Regexp_like Función
La función regularmente similar es similar al operador condicional similar. Sin embargo, a diferencia del operador similar, esta función realiza una coincidencia de patrón regex en lugar de una sola coincidencia de patrones.
Esto lo hace más avanzado y confiable en comparación con el operador similar. Esto se debe a que la expresión regular nos permite especificar un patrón más preciso y personalizable. Esto puede ayudar rápidamente a reducir los resultados de búsqueda dentro de un conjunto dado.
La sintaxis de la función es como se describe a continuación:
Regexp_like (fuente_string, search_pattern, [match_parameter]);La función acepta los argumentos como se muestra a continuación:
Las siguientes son la sintaxis de expresión regular aceptada y las combinaciones:
Operador | Descripción |
^ | Coincide con el comienzo de una cadena como se define en el match_parameter. |
ps | Denota el final de una cadena como se define en el match_parameter. |
* | Coincidir con cero o más ocurrencias |
+ | Coincidir con uno o más ocurrencias |
? | Coincidir con cero o uno |
^B | Coincide con el personaje de inicio de la línea |
$ B | Coincide con el personaje de fin de línea. |
. C | Coincidir con cualquier personaje en el conjunto de personajes compatibles excepto nulo |
[]d | Especifica una lista de elementos y desea hacer coincidir al menos un elemento en la lista |
() | Permite que el patrón sea tratado como una sola subexpresión. |
metro | Coincide exactamente m veces. |
metro, | Coincide al menos m veces. |
Minnesota | Coincide al menos m veces pero no más que n veces. |
\nortemi | La expresión de la referencia de retroceso (donde n es un entero entre 1 y 9) coincide con la nth subexpresión. |
[…] F | Especifica el elemento de recopilación |
[::]gramo | Especifica las clases de caracteres |
[==] H | Especifica clases equivalentes. |
Para descubrir más sobre la sintaxis de expresión regular multilingüe y el uso en las bases de datos de Oracle, considere el enlace que se proporciona a continuación:
https: // documentos.oráculo.com/cd/b12037_01/servidor.101/b10759/ap_posix001.HTM#i690819
Lo siguiente muestra los valores aceptados para el match_parameter.
Si no se proporciona Match_Parameter, Oracle asumirá:
Una vez que la función realiza la operación deseada, debe devolver la fila que coincide con el patrón especificado.
Uso de ejemplo
La siguiente sección proporciona ejemplos que demuestran el uso de la función regular.
Supongamos que tenemos una tabla que contiene información de los empleados como se muestra:
Ejemplo 1 - Uso básico
El siguiente ejemplo muestra cómo usar la función para buscar un nombre coincidente en la tabla de empleados.
SELECCIONAREn este caso, la consulta anterior debe devolver todos los nombres coincidentes donde el primer_name incluye 'P.'
Una salida de ejemplo es como se muestra:
Ejemplo 2 - Haga coincidir el comienzo de la línea
En el ejemplo a continuación, demostramos cómo usar el Match_Parameter para buscar el comienzo de la línea denotada por el personaje del careto.
SELECCIONARLa tabla resultante:
Ejemplo 3 - Haga coincidir el final de la línea
Del mismo modo, podemos hacer coincidir el patrón al final de la línea usando el 'I' como el valor del Match_Parameter y el signo del dólar para denotar el final de la línea.
SELECCIONAREn este caso, la consulta anterior debe devolver los valores coincidentes como se muestra:
Observe que todos los valores de la columna de Last_Name terminan con un 'R.'
Ejemplo 4 - Realice una búsqueda sensible a la caja
En el ejemplo a continuación, establecemos el valor del Match_Parameter en 'C' para habilitar la coincidencia sensible al caso.
SELECCIONAREn el ejemplo anterior, dado que estamos utilizando la sensibilidad de los casos con un patrón de búsqueda en minúsculas, la consulta no coincidirá con ningún valor ya que todos los valores en la tabla son con casco de camello.
Ejemplo 5 - Realice una búsqueda insensible a un caso
Para circunnavegar el escenario anterior, podemos realizar una coincidencia insensible al caso estableciendo el valor del parámetro Match_Parameter en 'I'.
Ejemplo:
SELECCIONARProducción:
En este caso, podemos ver que la consulta coincide con dos valores.
Ejemplo 6 - CARÁCTER PRECIONADO VARIAS VARIAS.
También permitimos que la consulta coincida con un carácter anterior específico un número definido de veces. Un ejemplo es como se muestra:
Seleccione First_Name, Last_NameEn la consulta de ejemplo anterior, buscamos todas las filas coincidentes donde el valor contiene dos caracteres 'E' en la columna de Last_Name.
Los valores resultantes son como se muestra:
Como puede ver, todos los valores en la columna Last_Name contienen dos caracteres 'E'.
Conclusión
En esta publicación, discutimos cómo usar la función regexp_like en las bases de datos Oracle para buscar un patrón de expresión regular.