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

Grabar fecha sin año

Estas en el tema de Grabar fecha sin año en el foro de Mysql en Foros del Web. Esta pregunta puede ser un poco tonta, pero no lo encuentro por ningún lado. ¿Existe la posibilidad de grabar en una tabla una fecha con ...
  #1 (permalink)  
Antiguo 28/10/2012, 00:28
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 5 meses
Puntos: 12
Grabar fecha sin año

Esta pregunta puede ser un poco tonta, pero no lo encuentro por ningún lado. ¿Existe la posibilidad de grabar en una tabla una fecha con el formato dd/mm? ¿Qué tipo de campo sería ese? Había armado un campo de tipo date, pero como es para indicar fecha de cumpleaños y no le indico el año me devuelve un error. ¿Es posible grabar la fecha sin años con algún tipo de campo?
Muchas gracias.
  #2 (permalink)  
Antiguo 28/10/2012, 06:36
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Grabar fecha sin año

No. No es posible, al menos como fecha.
Pero tu problema puede perfectamente manejarse con un DATE, porque en definitiva lo que tienes que hacer es manipular sólo parte de la fecha, y mostrarlo parcialmente.
En esencia lo que se hace no es guardar la fecha de cumpleaños, sino la de nacimiento. E smás sencillo y permite hacer todo tipo de operaciones.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/10/2012, 08:33
 
Fecha de Ingreso: octubre-2012
Mensajes: 8
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Grabar fecha sin año

Hay maneras de guardar una fecha, lo mas sencillo esque armes tus bloques de fecha en codigo y en la tabla a ese campo lo determinas con un varchar(para que no te de problemas), luego lo insertas en ese campo y tienes la fecha como lo deseas.
  #4 (permalink)  
Antiguo 29/10/2012, 08:41
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Grabar fecha sin año

Usar VARCHAR para guardar fechas es siempre una pésima práctica. No solo traen problemas luego con las consultas, sino que lo único que logras es desperdiciar espacio de almacenamiento.
Es una solución que se suele calificar de "parche", que te generará más problemas que las soluciones que puede aportar.
Ni lo intentes.
__________________
¿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 29/10/2012, 13:08
sjj
 
Fecha de Ingreso: octubre-2008
Mensajes: 213
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Grabar fecha sin año

Cita:
Iniciado por gnzsoloyo Ver Mensaje
No. No es posible, al menos como fecha.
Pero tu problema puede perfectamente manejarse con un DATE, porque en definitiva lo que tienes que hacer es manipular sólo parte de la fecha, y mostrarlo parcialmente.
En esencia lo que se hace no es guardar la fecha de cumpleaños, sino la de nacimiento. E smás sencillo y permite hacer todo tipo de operaciones.
Entiendo. Lo más lógico para buscar edades y fechas de cumpleaños es guardar la fecha de nacimiento pero sucede que en este caso no se informa el año de nacimiento en la recolección de datos, por eso dije cumpleaños. Creo que lo más fácil va a ser guardarlo como date y que grabe con el formato dd-mm-0000. Luego a la hora de mostrar, solo recupero día y mes y listo.

La verdad yo también lo había pensado como un varchar como aconseja fdoch, pero creo que tienes razón. Puede complicarse a la hora de realizar consultas. Muchas gracias a los dos.

Etiquetas: año, fecha, tabla, tipo, campos
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 20:08.