Remplazar texto en PostgreSQL

En este post te mostraré cómo usar la función replace de PostgreSQL, misma que funciona para remplazar parte de un texto por otro, muy útil para cuando queremos modificar parte del texto de una columna en una consulta.

Función replace en PostgreSQL

La función replace toma 3 argumentos que son, en orden:

  1. El texto sobre el que se va a trabajar
  2. La búsqueda
  3. El remplazo

Esta función puede ser usada para actualizar una tabla, por ejemplo, algo así:

update tabla set columna = replace(columna, búsqueda, replace);

Veamos con un ejemplo.

Ejemplo para remplazar texto en PostgreSQL

Tengo una tabla con fechas como cadena, pero las fechas tienen la letra T para separar la fecha de la hora. Así:

select fecha_terminacion from bultos_de_empleados;
  fecha_terminacion
---------------------
 2020-03-05T22:37:26
 2020-03-09T23:33:48
 2020-03-09T23:33:52
 2020-03-11T00:08:34
 2020-03-13T13:20:20
 2020-03-13T13:23:53
 2020-03-05T22:30:12
 2020-03-05T22:30:15
 2020-03-05T22:30:17
 2020-03-05T22:30:19
 2020-03-05T22:30:21
(11 rows)

Lo que quiero remplazar es esa T por un espacio en blanco, momento de usar la función replace en psql. Para ello ejecuto la siguiente consulta:

update bultos_de_empleados set fecha_terminacion = replace(fecha_terminacion, 'T', ' ');

Ahora las fechas son:

select fecha_terminacion from bultos_de_empleados;
  fecha_terminacion
---------------------
 2020-03-05 22:37:26
 2020-03-09 23:33:48
 2020-03-09 23:33:52
 2020-03-11 00:08:34
 2020-03-13 13:20:20
 2020-03-13 13:23:53
 2020-03-05 22:30:12
 2020-03-05 22:30:15
 2020-03-05 22:30:17
 2020-03-05 22:30:19
 2020-03-05 22:30:21
(11 rows)

Por cierto, es importante notar que en este caso el remplazo es global, es decir, si hubiera más letras T en esa columna, todas se habrían remplazado.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

2 comentarios en “Remplazar texto en PostgreSQL”

  1. Pablo Dante Peralta

    Hola, buen día.
    Tengo el siguiente caso y no puedo resolverlo.
    Si yo tengo el nombre de una persona “Manzo Alfredo Daniel”. Y, deseo reemplazar el primer espacio en blanco de la cadena con una “,” (por ejemplo). Si utilizo lo siguiente:
    “Update Tabla1 set PersApeNomb = replace(PersApeNomb, ‘ ‘, ‘,’) where Id=1025;”
    Eso me va a reemplazar todos los espacios con la coma.
    De qué forma puedo reemplazar la primera ocurrencia o espacio?
    Se puede en el segundo parámetro de la función hacer algo como para “ataje” solamente ese espacio en blanco y lo cambie!!?
    Muy buen sitio.
    Un cordial saludo

Dejar un comentario

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