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

insertar fecha a medias

Estas en el tema de insertar fecha a medias en el foro de Mysql en Foros del Web. estoy usando una base de datos y en una de las tablas tengo un campo de tipo date. mi intencion es meter fechas completas en ...
  #1 (permalink)  
Antiguo 09/04/2011, 13:30
 
Fecha de Ingreso: abril-2011
Ubicación: Motril
Mensajes: 49
Antigüedad: 13 años
Puntos: 1
Pregunta insertar fecha a medias

estoy usando una base de datos y en una de las tablas tengo un campo de tipo date.
mi intencion es meter fechas completas en este campo, aunque en algunos casos solo quiero insertar el año (sin dia ni mes), o el año y el mes, pero el dia no.

he probado con date_format('1999','%Y') pero me inserta null.

¿Hay alguna manera de hacer esto? se que en oracle se inserta sin problemas, pero en mysql no me deja...:(
  #2 (permalink)  
Antiguo 09/04/2011, 13:39
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 14 años, 9 meses
Puntos: 41
Respuesta: insertar fecha a medias

La verdad no creo qye puedas meter solo el mes o el año en un campo fecha en MySQL, lo que si puedes aser es meter la fecha completa, y sacar solo el mes o el año segun necesites.

SELECT MONT(campoFecha) FROM tabla
SELECT YEAR(campoFecha) FROM tabla
  #3 (permalink)  
Antiguo 09/04/2011, 14:12
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, 5 meses
Puntos: 2658
Respuesta: insertar fecha a medias

La duda que me aparece es que si ese campo lo usarás para meter fechas completas, ¿en qué contexto usarás fechas de las que no quieres insertar el día?
¿No estarás modelando mal esa entidad (tabla o relación) de la base, y lo que se requiere es otra forma?
¿Qué representa exactamente esa fecha de la tabla?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 12/04/2011, 14:58
 
Fecha de Ingreso: abril-2011
Ubicación: Motril
Mensajes: 49
Antigüedad: 13 años
Puntos: 1
Respuesta: insertar fecha a medias

lo que quiero es almacenar en la base de datos la fecha de lanzamiento de unas plataformas. El problema es que para las plataformas antiguas desconozco la fecha de lanzamiento exacta (solo se el año), mientras que para las mas nuevas conozco la fecha exacta (dia-mes-año)

Es por esto que me gustaria tener un tipo date para la fecha de lanzamiento, y guardar las fechas segun si la se con dia y mes o no.

siempre esta la opcion de guardar el año solo como un entero aparte, y si no tengo fecha, usar el año solo como fecha, pero para comparar u ordenar las consultas se complica todo.

¿hay alguna otra forma de hacerlo?
  #5 (permalink)  
Antiguo 12/04/2011, 17:42
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, 5 meses
Puntos: 2658
Respuesta: insertar fecha a medias

Cita:
lo que quiero es almacenar en la base de datos la fecha de lanzamiento de unas plataformas. El problema es que para las plataformas antiguas desconozco la fecha de lanzamiento exacta (solo se el año), mientras que para las mas nuevas conozco la fecha exacta (dia-mes-año)
Lo que se suele hacer en esos casos es simplemente dar como fecha por default el primer día del mes, o bien el primer día hábil del mes, hasta tanto se puede completar el dato.
Es más una decisión del cliente que del diseñador. Se debe consultar el cliente y verificar cuál es la política que se sigue en esos casos (reglas del negocio).
Pero nunca, nunca se toma una decisión que afecte de forma insegura el diseño de la estructura de datos. Lo único que lograrás será tener problemas en el futuro por una consulta que falle.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

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




La zona horaria es GMT -6. Ahora son las 11:52.