Re: Agrupar campos date y time en timestamp.

Lists: pgsql-es-ayuda
From: Pablo Braulio <brulics(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Agrupar campos date y time en timestamp.
Date: 2006-05-03 09:17:04
Message-ID: 200605031117.11708.brulics@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Buenos días.

Estoy tratando de corregir el diseño de una tabla, pues le asigne un campo de
fecha y otro de hora y quisiera restructurarlo en uno tipo timestamp.

El problema que me estoy encontrando es que en el insert me da error en el
formato de los datos a introducir en el campo timestamp.

Lo estoy haciendo en php, de la siguiente manera.

$select= "select empresa, equipo, usuario, programa, tipo_acceso,
fecha || ' ' || hora || '.00' as fech, fichero_accedido, registro_accedido,
revision from temp_rev_accesos2";
$result_select= pg_query($select)
or die("select ha fallado.");
while($row_result_select= pg_fetch_array($result_select))
{
$insert= "insert into rev_accesos(empresa, equipo, usuario, programa,
tipo_acceso, fecha, fichero_accedido, registro_accedido, revision) values('".
$row_result_select["empresa"]."', '".$row_result_select["equipo"]."', '".
$row_result_select["usuario"]."', '".$row_result_select["programa"]."', '".
$row_result_select["tipo_acceso"]."', '".$row_result_select["fech"]."', '".
$row_result_select["fichero_accedido"]."', '".
$row_result_select["registro_accedido"]."', '".
$row_result_select["revision"]."');";
$result_insert= pg_query($insert)
or die("insert ha fallado");
}

Como podéis ver en el primer select agrupo los valores del campo "fecha"
y "hora", para tratar de sacar un formato que me sirva para introducirlo en
la nueva tabla como timestamp.

¿Alguien sabría decirme como puedo solucionar esto?.

Gracias.
--
Saludos.
Pablo
------------
Jabber: bruli(at)myjabber(to)net
Fingerprint: 944D 10DA 4C10 08D1 574D 4B48 3BC1 CEF7 F222 EB1D


From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Pablo Braulio <brulics(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Agrupar campos date y time en timestamp.
Date: 2006-05-03 13:31:21
Message-ID: 20060503133121.GG18026@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Pablo Braulio escribió:
> Buenos días.
>
> Estoy tratando de corregir el diseño de una tabla, pues le asigne un campo de
> fecha y otro de hora y quisiera restructurarlo en uno tipo timestamp.

alter table foo add column nueva_columna timestamp with time zone;
update foo set nueva_columna = (columa_date + columna time) at time zone 'tu timezone';

Usar timestamp without time zone _casi siempre_ es un error. Usa "with
time zone" mejor.

(En tu pais tienen cambio de horario de verano? Si es asi, entonces
considera si has tomado en cuenta que pasa con tu aplicacion en los
horarios de cambio. Si has pensado en ese problema, entonces quizas
puedas usar "without time zone". Si no has pensado en ese problema, es
decir si tu aplicacion no tiene codigo adicional puesto especialmente
para manejar los horarios de borde, entonces usar "without time zone" es
un error).

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


From: Pablo Braulio <brulics(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Agrupar campos date y time en timestamp.
Date: 2006-05-03 20:34:40
Message-ID: 200605032234.47106.brulics@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

El Miércoles, 3 de Mayo de 2006 15:31, Alvaro Herrera escribió:
> alter table foo add column nueva_columna timestamp with time zone;
> update foo set nueva_columna = (columa_date + columna time) at time zone
> 'tu timezone';
>
> Usar timestamp without time zone _casi siempre_ es un error.  Usa "with
> time zone" mejor.
>
> (En tu pais tienen cambio de horario de verano?  Si es asi, entonces
> considera si has tomado en cuenta que pasa con tu aplicacion en los
> horarios de cambio.  Si has pensado en ese problema, entonces quizas
> puedas usar "without time zone".  Si no has pensado en ese problema, es
> decir si tu aplicacion no tiene codigo adicional puesto especialmente
> para manejar los horarios de borde, entonces usar "without time zone" es
> un error).

Hay que ver lo que me complico la vida.

Gracias Alvaro.
--
Saludos.
Pablo
------------
Jabber: bruli(at)myjabber(to)net
Fingerprint: 944D 10DA 4C10 08D1 574D 4B48 3BC1 CEF7 F222 EB1D