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

Cuantos dias faltan en mysql?

Estas en el tema de Cuantos dias faltan en mysql? en el foro de Mysql en Foros del Web. Como hago que una tabla me muestre por default cuantos dias quedan para determinada fecha en una columna? Quería hacer algo así: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ...
  #1 (permalink)  
Antiguo 26/04/2011, 17:10
Avatar de shujidan  
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años
Puntos: 5
Pregunta Cuantos dias faltan en mysql?

Como hago que una tabla me muestre por default cuantos dias quedan para determinada fecha en una columna?

Quería hacer algo así:

Código MySQL:
Ver original
  1. ALTER TABLE  `perfiles` CHANGE  `diasRestantes`  `diasRestantes` INT( 2 ) NULL DEFAULT  'fechaVencimiento-current_timestamp'

En el que cada usuario pudiera ver cuantos dias faltan para determinada fecha, tengo que actualizar la tabla con algun lenguaje?, no lo puede hacer la misma tabla?

Intenté hacerlo asi pero me dio error:

Código MySQL:
Ver original
  1. mysql_query("SELECT DATEDIFF('d',current_timestamp,fechaVencimiento) AS 'dias' FROM perfiles WHERE columna1 = 'contenido1';");

Última edición por shujidan; 26/04/2011 a las 17:45
  #2 (permalink)  
Antiguo 26/04/2011, 18:04
Avatar de shujidan  
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años
Puntos: 5
Respuesta: Cuantos dias faltan en mysql?

mysql_query("SELECT DATEDIFF(now(),fechaPago) as dias FROM perfiles WHERE columna1 = 'contenido1';");
  #3 (permalink)  
Antiguo 26/04/2011, 18:16
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: Cuantos dias faltan en mysql?

Valores calculables no se almacenan en las bases de datos. No se necesita porque se obtienen con la misma consulta que busca el resto de los datos, y hacerlo implica crear métodos de actualización que recarga innecesariamente la aplicación y/o la base de datos.
Tu prueba dio mal porque estás confundiendo alguna función de otro DBMS o de algún lenguaje con las funciones de MySQL. No todas las funciones son portables entre DBMSs. En tu caso ese 'd' no pertenece a la función DATEDIFF:
Cita:
DATEDIFF(expr,expr2)
DATEDIFF() retorna el número de días entre la fecha inicial expr y la fecha final expr2. expr y expr2 son expresiones de fecha o de fecha y hora. Sólo las partes de fecha de los valores se usan en los cálculos.

Código MySQL:
Ver original
  1. mysql> SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30');
  2.         -> 1
  3. mysql> SELECT DATEDIFF('1997-11-30 23:59:59','1997-12-31');
  4.         -> -31
Código MySQL:
Ver original
  1. SELECT DATEDIFF(CURRENT_TIMESTAMP(), fechaVencimiento)  'dias'
  2. FROM perfiles
  3. WHERE columna1 = 'contenido1';
__________________
¿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 26/04/2011, 18:35
Avatar de shujidan  
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años
Puntos: 5
Respuesta: Cuantos dias faltan en mysql?

Vale, llegué a esa conclusión después de investigar un buen rato, pero muchas gracias por la explicación.

Etiquetas: current_timestap, default, 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 02:35.