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

Manejar timestamp

Estas en el tema de Manejar timestamp en el foro de Mysql en Foros del Web. Buenas esta es mi duda tengo una tabla factura donde se guardan los datos tipicos de una factura de venta y tengo el campo fecha ...
  #1 (permalink)  
Antiguo 06/09/2010, 10:41
 
Fecha de Ingreso: febrero-2010
Mensajes: 49
Antigüedad: 14 años, 10 meses
Puntos: 0
De acuerdo Manejar timestamp

Buenas esta es mi duda tengo una tabla factura donde se guardan los datos tipicos de una factura de venta y tengo el campo fecha y hora q son comunes en las misma. Bien pense q estos campos podrian ser timestamp ('AAAA-MM-DD HH:MM:SS') para q cuando se crea el registro de ingrese con la fecha del servidor, pero queria saber si es posible manejarlo o truncarlo por asi decirlo para que en el campo fecha salga la fecha no mas 'AAAA-MM-DD ' y el campo hora 'HH:MM:SS'.

Muchas gracias.

PD: Es una sistema de facturacion con VB.
  #2 (permalink)  
Antiguo 06/09/2010, 12:06
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Manejar timestamp

Si se puede con la función DATE o la función TIME.

Código MySQL:
Ver original
  1. mysql> SELECT DATE(now());
  2. +-------------+
  3. | DATE(now()) |
  4. +-------------+
  5. | 2010-09-06  |
  6. +-------------+
  7. 1 row in set (0.01 sec)
  8.  
  9. mysql> SELECT TIME(now());
  10. +-------------+
  11. | TIME(now()) |
  12. +-------------+
  13. | 13:08:19    |
  14. +-------------+
  15. 1 row in set (0.00 sec)
  16.  
  17. mysql> SELECT now();
  18. +---------------------+
  19. | now()               |
  20. +---------------------+
  21. | 2010-09-06 13:08:28 |
  22. +---------------------+
  23. 1 row in set (0.00 sec)

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 06/09/2010, 15:56
 
Fecha de Ingreso: febrero-2010
Mensajes: 49
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Manejar timestamp

ok pero eso es una funcion no? donde la pondria ya que con el timestamp al ingresarse el registro a la tabla automaticamente se colocan los datos.
o lo que me quieres decir es como hacer un procedimiento almacenado de esta manera :

insert into factura (Cliente_Cedula,ID_Vendedor,Fecha,Hora,Tot_factura ) Values (15550666,1,DATE(Now()),Time(now()),198.5);

?

Última edición por barralex; 06/09/2010 a las 16:07
  #4 (permalink)  
Antiguo 06/09/2010, 18:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Manejar timestamp

Truncarlos es posible, pero el campo seguiría siendo TIMESTAMP, con lo que en realidad estarías desperdiciando 8 bytes por registro inutilmente.
¿No sería mejor que modificaras el tipo de campo usado por DATE y TIME?

Por otro lado, no necesitas andar truncando datos del NOW() desde el momento en que existen dos funciones específicas para obtener esa información: CURDATE() y CURTIME(). La primera te devuelve la fecha actual y la otra la hora actual.
¿Para qué usar truncados?
Código MySQL:
Ver original
  1. mysql> SELECT CURDATE() , CURTIME();
  2. +------------+-----------+
  3. | CURDATE()  | CURTIME() |
  4. +------------+-----------+
  5. | 2010-09-06 | 21:23:13  |
  6. +------------+-----------+
  7. 1 row in set (0.00 sec)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 07/09/2010, 07:53
 
Fecha de Ingreso: febrero-2010
Mensajes: 49
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Manejar timestamp

Ah ok muy amable la duda esta resuelta, tiene razon de esa manera la base de datos sera mas eficiente a la larga. Saludos y gracias a los 2.

Pd: Ya seguire posteando dudas ya que mi aplicacion va en pleno proceso.

Etiquetas: manejar, timestamp
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 22:59.