Tiempo de lectura:1 Minutos, 26 Segundos

La función REGEXP_REPLACE en PostgreSQL nos devuelve un texto sustituyendo la palabra que coincida con la expresión regular. Esta función esta englobada en las denominadas funciones de cadena.

Sintaxis

Escribe la siguiente sintaxis para utilizarlo:

REGEXP_REPLACE(cadena, patron, remplazo [, indicador])
  • REGEXP_REPLACE: es el nombre de la función.
  • cadena: cadena a buscar.
  • patrón: expresión regular.
  • remplazo: cadena por la que se sustituirá.
  • indicador: parametro para indicarle opciones, en la mayoría de caso de utiliza el indicador g, ya que de lo contrario solo devolvería un resultado.

Ejemplo

Cambiar orden de palabras

En el siguiente ejemplo puedes observar como la columna nombre de la tabla empleados contiene el nombre y el apellido del empleado, pero necesitamos convertirlo al formato apellido, nombre:

SELECT 	nombre, 
		REGEXP_REPLACE(nombre,'(.*) (.*)','\2, \1')
from empleados;

Eliminar letras

En el siguiente ejemplo eliminamos las letras del texto ‘ABC12345xyz’. :

SELECT REGEXP_REPLACE('ABC12345xyz','[[:alpha:]]','','g');
  • [[:alpha:]]: coincide con cualquier letra.
  • »; sustituimos las letras encontradas por un vacío.
  • g: para que sustituya todas las letras que encuentre, no solo la primera.

Eliminar dígitos

En el siguiente ejemplo eliminamos los dígitos del texto ‘ABC12345xyz’. :

SELECT REGEXP_REPLACE('ABC12345xyz','[[:digit:]]','','g');
  • [[:digit:]]: coincide con cualquier digito.
  • »; sustituimos los dígitos encontradas por un vacío.
  • g: para que sustituya todas las letras que encuentre, no solo la primera.

Eliminar espacios

En el siguiente ejemplo eliminamos los espacios escritos de mas:

SELECT REGEXP_REPLACE('Miguel  Troyano      no sabe    escribir','( ){2,}',' ','g');
  • ‘( ){2,}’: busca el espacio cuando ocurra mas de dos veces seguidas.
  • ‘ ‘; sustituimos cuando encuentre un resultado por un espacio.
  • g: para que sustituya todas las veces que lo encuentra.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.

Perfiles en Redes Sociales