Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/06/2008, 23:09
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Transformar formato de fecha y concat

En ese campo yid guarda por defecto el '0', como tú le habías dicho al crear la tabla (nunca escribes nada).
Si eso es así y siempre vas a computar el año como 2004, no entiendo bien por qué guardas ningún dato yid en la base, ni siquiera el 0 que guarda por defecto. Te bastará con ponerlo así:

SELECT UNIX_TIMESTAMP(CAST(CONCAT('2004',IF(mid > 9, CAST(mid AS CHAR), CONCAT('0',CAST(mid AS CHAR))),IF(did > 9, CAST(did AS CHAR), CONCAT('0',CAST(did AS CHAR)))) AS DATE)) FROM `ephem`

Pero no olvides la naturaleza de tu timestamp, los segundos pasados desde '1970-01-01 00:00:00 hasta 2004-mid-did 00:00:00 '.

EDITO para decirte que esto que te pongo tal vez resuelva parte del problema, pero no el problema, que en mi opinión tiene que ver más con el modo en que introduces los datos y la naturaleza de los mismos en la base de datos. Tal vez no tengas todavía muchos datos en la base y estés preparando las consultas. Si es así, yo vería el modo de introducir los datos de otra manera y con otra naturaleza. Dinos por qué los introduces así (sin año, como numéricos) y cuál es el objetivo que buscas con las consultas. Tal vez alguien pueda orientarte sobre lo mejor para tu caso, y te ahorres problemas en el futuro.

Última edición por jurena; 23/06/2008 a las 00:44