Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

[SOLUCIONADO] Problema con tipo de dato timestamp with zone

Estas en el tema de Problema con tipo de dato timestamp with zone en el foro de PostgreSQL en Foros del Web. Hola a todos buenas noches.. chicos me dirijo a este foro con la intención de plantearles mi pequeño problema con el tipo de dato timestamp ...
  #1 (permalink)  
Antiguo 04/09/2014, 21:07
 
Fecha de Ingreso: septiembre-2014
Mensajes: 23
Antigüedad: 6 años, 1 mes
Puntos: 0
Problema con tipo de dato timestamp with zone

Hola a todos buenas noches.. chicos me dirijo a este foro con la intención de plantearles mi pequeño problema con el tipo de dato timestamp with zone de postgres... Me encuentro migrando un código que el año pasado desarrolle para mi proyecto de la universidad el cual lo trabaje con Mysql en donde se lleva un historial de usuario con el cual usando mysql usaba el tipo de dato datetime para guardar el dia y hora en ingreso y salida de usuario al sistema... pero ahora que intento hacer lo mismo en postgres con el tipo de dato timestamp with zone no me registra nada y me da un error en el SGBD que dice (syntax error at end of input LINE 2: values ('paula', 'inicio sesion', '2008-02-05 06:12:54.6979-05')...
La consulta original es esta INSERT INTO historial_sesion (usuario, descripcion, hora_fecha)
values ('paula', 'inicio sesion', '2014-02-05 18:12:54.6979-05'

Ya varias veces he intentado cambiar la sentencia y me sigue mostrando el mismo error que podra ser??? a mi me parece es que el formato de ingreso no esta bien o no se ayudenme...
  #2 (permalink)  
Antiguo 05/09/2014, 12:08
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 11 años, 8 meses
Puntos: 360
Respuesta: Problema con tipo de dato timestamp with zone

Paula_21

Si bien ensayé la sentencia y me funcionó sin problemas, es probable que tengas algún parametro en la BD que difiere del formato que envias.

Prueba lo siguiente:

Código SQL:
Ver original
  1. INSERT INTO historial_sesion (usuario, descripcion, hora_fecha)
  2. VALUES ('paula', 'inicio sesion', TO_TIMESTAMP('2014-02-05 18:12:54.6979-05','YYYY-MM-DD HH24:MI:SS.US')::TIMESTAMP WITH TIME ZONE);

A esto se le conoce como una conversión explicita.

Nos cuentas.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 09/09/2014, 15:13
 
Fecha de Ingreso: septiembre-2014
Mensajes: 23
Antigüedad: 6 años, 1 mes
Puntos: 0
De acuerdo Respuesta: Problema con tipo de dato timestamp with zone

muchas gracias si me funcionó... copie la consulta que publicaste y efectivamente hace el registro.. ahora me resta modificarlo de modo que el sistema tome los datos hora y fecha de la pc para el registro... muchas gracias

chico y otra preguntita si luego necesito presentar los datos que registre en un reporte para el cual debe mostrarse la fecha y la hora por separado existe algún modo de hacerlo a través de una consulta??? gracias de antemano ...
  #4 (permalink)  
Antiguo 09/09/2014, 15:51
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 11 años, 8 meses
Puntos: 360
Respuesta: Problema con tipo de dato timestamp with zone

Paula_21

Con la función TO_CHAR le das el formato personalizado que quieras.
Para tu ejemplo es algo asi:

Código SQL:
Ver original
  1. SELECT TO_CHAR(CURRENT_TIMESTAMP,'YYYY-MM-DD') fecha,TO_CHAR(CURRENT_TIMESTAMP,'HH24:MI:SS') hora;
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 09/09/2014, 21:53
 
Fecha de Ingreso: septiembre-2014
Mensajes: 23
Antigüedad: 6 años, 1 mes
Puntos: 0
De acuerdo Respuesta: Problema con tipo de dato timestamp with zone

okz muchas gracias chico me fuiste de mucha ayudad

Etiquetas: dato, postgres, sql, timestamp, tipo, usuario, zone
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:57.