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

Problema al Insertar FECHA Y HORA

Estas en el tema de Problema al Insertar FECHA Y HORA en el foro de Oracle en Foros del Web. Buenas Noches Amigos; Tengo un problema al insertar la fecha y hora actual del sistema en una tabla: La fecha y hora Actual del sistema ...
  #1 (permalink)  
Antiguo 16/02/2010, 20:35
 
Fecha de Ingreso: marzo-2007
Ubicación: Cartagena de Indias
Mensajes: 19
Antigüedad: 12 años, 8 meses
Puntos: 0
Problema al Insertar FECHA Y HORA

Buenas Noches Amigos;

Tengo un problema al insertar la fecha y hora actual del sistema en una tabla:

La fecha y hora Actual del sistema es:
16/02/2010 con 9:31pm (esto es lo que espero que inserte en la tabla)

Pero luego que ejecuto la siguiente sentencia:

insert into emp (fecha, codigo)
values(to_date(sysdate, 'dd mm rrrr hh12:mi:ss'),7)


Me inserta lo siguiente:

16 02 2010 12:00:00

No comprendo porque me inserta 12:00:00 cuando debe insertar 9:31:00

Agredezco que me colaboren con esta pregunta
  #2 (permalink)  
Antiguo 16/02/2010, 20:54
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 10 años, 9 meses
Puntos: 360
Respuesta: Problema al Insertar FECHA Y HORA

Y por que no insertas sysdate directamente?
Que sentido castear una variable de fecha a fecha?

saludos gaboduran
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 16/02/2010, 21:41
 
Fecha de Ingreso: marzo-2007
Ubicación: Cartagena de Indias
Mensajes: 19
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Problema al Insertar FECHA Y HORA

Amigo lo que ocurre es que quiero saber el momento exacto de que se hizo la insercion en la tabla, es decir a que horas se inserto el nuevo registro, pero siempre me guarda 12:00:00, el valor default de oracle cuando insertas sysdate
  #4 (permalink)  
Antiguo 17/02/2010, 01:18
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 12 años, 5 meses
Puntos: 43
Respuesta: Problema al Insertar FECHA Y HORA

¿ que es fecha del sistema , la de tu pc o la del servidor oracle ?

Oracle no tiene valor default para el sysdate, lo que te muestra depende de como quieras formatear tu la salida.
Mira el parametro NLS_DATE_FORMAT de tu BBDD, pero de todas maneras lo que te graba me suena a chino, mira :

SQL*Plus: Release 8.0.5.0.0 - Production on Mié Feb 17 08:17:07 2010

(c) Copyright 1999 Oracle Corporation. All rights reserved.


Conectado a:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select
2 to_date(sysdate, 'dd mm rrrr hh12:mi:ss')
3 from dual;

TO_DATE(
--------
17/02/10

SQL> alter session set nls_Date_format = 'dd mm rrrr hh12:mi:ss';

Sesión modificada.

SQL> select
2 to_date(sysdate, 'dd mm rrrr hh12:mi:ss')
3 from dual;

TO_DATE(SYSDATE,'DD
-------------------
17 02 2010 08:17:28

SQL> alter session set nls_Date_format = 'dd mm rrrr hh12:mi'
2 ;

Sesión modificada.

SQL> select
2 to_date(sysdate, 'dd mm rrrr hh12:mi:ss')
3 from dual;

TO_DATE(SYSDATE,
----------------
17 02 2010 08:17

SQL>
  #5 (permalink)  
Antiguo 17/02/2010, 09:12
Avatar de 8vio  
Fecha de Ingreso: marzo-2008
Ubicación: Detras del monitor
Mensajes: 168
Antigüedad: 11 años, 8 meses
Puntos: 6
Respuesta: Problema al Insertar FECHA Y HORA

Si lo que quieres es ver el formato de fecha sin modificar el nls_Date_format tienes que usar es to_char para que te cambie de formato, de date a date te va a truncar la fecha. Como dice huesos castear de fecha a fecha no tiene sentido.

SELECT to_char(sysdate, 'dd mm rrrr hh12:mi:ss') FROM dual

Ahora si no te parece porque en el insert el campo fecha es un tipo date pues le metes un to_date con el formato y listo

SELECT to_date(to_char(sysdate, 'dd mm rrrr hh12:mi:ss'),'dd mm rrrr hh12:mi:ss') FROM dual


Saludos.
  #6 (permalink)  
Antiguo 24/08/2010, 01:25
 
Fecha de Ingreso: diciembre-2009
Mensajes: 7
Antigüedad: 10 años
Puntos: 0
Respuesta: Problema al Insertar FECHA Y HORA

Cita:
Iniciado por 8vio Ver Mensaje
Si lo que quieres es ver el formato de fecha sin modificar el nls_Date_format tienes que usar es to_char para que te cambie de formato, de date a date te va a truncar la fecha. Como dice huesos castear de fecha a fecha no tiene sentido.

SELECT to_char(sysdate, 'dd mm rrrr hh12:mi:ss') FROM dual

Ahora si no te parece porque en el insert el campo fecha es un tipo date pues le metes un to_date con el formato y listo

SELECT to_date(to_char(sysdate, 'dd mm rrrr hh12:mi:ss'),'dd mm rrrr hh12:mi:ss') FROM dual


Saludos.
No entiendo esta linea me la explican SELECT to_date(to_char(sysdate, 'dd mm rrrr hh12:mi:ss'),'dd mm rrrr hh12:mi:ss') FROM dual

es q no se como es q admite cerrar el to_char. una coma en el to_date y sigue el to_date. Ademas porque rrrr no es yyyy?

aproposito fue lo unico q me sirvio para q tomara la fecha y hora reales GRacias!

Etiquetas: fechas
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:22.