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.
La función replace toma 3 argumentos que son, en orden:
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.
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.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.
Ver comentarios
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
Tal vez algo como lo siguiente: https://stackoverflow.com/questions/17002782/how-to-replace-the-first-occurrence-of-character-e-in-a-string-with-s-in-ora
O puede hacerlo desde algún lenguaje de programación