From: | "Mario Gonzalez" <gonzalemario(at)gmail(dot)com> |
---|---|
To: | "Raul Caso" <feve18(at)gmail(dot)com> |
Cc: | "lista postgresql" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: ayuda remplazo masivo en un campo |
Date: | 2006-03-15 21:49:26 |
Message-ID: | 2065a6cf0603151349h46a99833v@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 15/03/06, Raul Caso <feve18(at)gmail(dot)com> wrote:
>
>
> El día 15/03/06, Alvaro Herrera <alvherre(at)commandprompt(dot)com> escribió:
> > Raul Caso escribió:
> > > Hola a ver si me pueden dar una idea tengo una tabla con 2 mil registros
> > > esta tabla tiene un campo de tipo varchar que guarda un contenido con el
> > > formato hh:mm a.m. o hh:mm p.m .
> >
> > Huh, te equivocaste estrepitosamente de tipo de dato. Para guardar
> > horas no deberias estar usando "varchar", sino "time".
> >
> > > el problema es que quiero cambiar las
> > > extensiones " a.m. y p.m." por am y pm
> > > sin ningun punto; osea hacer un update masivo para todos los registros
> no se
> > > si me pueden dar alguna idea
> >
> > Para eso usa UPDATE sin especificar WHERE.
> >
> Exacto los que crearon la tabla equivocaron el tipo de dato y debo seguir
> trabajando asi
> pero lo que pasa es cada fila tiene un valor algo asi 5:45 p.m. y para
> hacer mis comparaciones hago un cast a time y no me lo acepta porque los
> campos tienen p.m. osea necesito eliminar los puntos despues de cada letra
> pero sin modificar el valor de la hora del mismo campo, un expresion regular
> en mi sentecia sql update me ayudaria? como lo podria hacer?
>
mhh, IMO tendrias que hacer una funcion ocupando llamadas a replace()
test=# SELECT replace('5:45 p.m', '.', '');
replace
---------
5:45 pm
(1 row)
>
From | Date | Subject | |
---|---|---|---|
Next Message | Orlando Alarcon | 2006-03-15 21:52:56 | Editar campo de tabla |
Previous Message | Mario Gonzalez | 2006-03-15 21:32:15 | Re: [Fwd: Exportar desde Access a Postgresql] |