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

Tratar fechas avanzado

Estas en el tema de Tratar fechas avanzado en el foro de Mysql en Foros del Web. Vaya, para mi es una pregunta de nivel avanzado, como minimo mas avanzado que el mio jejejeje haber si me explico, resulta que tengo una ...
  #1 (permalink)  
Antiguo 11/09/2009, 09:28
Avatar de flanagan44  
Fecha de Ingreso: abril-2004
Mensajes: 182
Antigüedad: 20 años
Puntos: 2
Tratar fechas avanzado

Vaya, para mi es una pregunta de nivel avanzado, como minimo mas avanzado que el mio jejejeje

haber si me explico,

resulta que tengo una tabla con un campo fecha, otro que me indica los dias de cobro (30 dias, 60 dias, 90 dias) y otro campo que me dice el dia de pasar el recibo (numero del 1 al 31)

me interesa en un select calcular la fecha de vencimiento de la factura,

ejemplo:

Fecha 15/09/2009
Dias 90
Dia 10

me gustaria que me devolviera 10/01/2010

Es decir 90 dias de la fecha de la factura el primer dia 10 siguiente.

Se puede hacer de algun modo? o es muy complicado?

muchas gracias
  #2 (permalink)  
Antiguo 11/09/2009, 09:51
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Tratar fechas avanzado

Código sql:
Ver original
  1. mysql> SELECT date_add(now(), INTERVAL 100 DAY);
  2. +-----------------------------------+
  3. | date_add(now(), INTERVAL 100 DAY) |
  4. +-----------------------------------+
  5. | 2009-12-20 10:51:18               |
  6. +-----------------------------------+
  7. 1 ROW IN SET (0.00 sec)

Juega un poco con la función date_add. Esto soluciona tu problema.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 11/09/2009, 09:58
Avatar de flanagan44  
Fecha de Ingreso: abril-2004
Mensajes: 182
Antigüedad: 20 años
Puntos: 2
Respuesta: Tratar fechas avanzado

Cita:
Iniciado por huesos52 Ver Mensaje
Código sql:
Ver original
  1. mysql> SELECT date_add(now(), INTERVAL 100 DAY);
  2. +-----------------------------------+
  3. | date_add(now(), INTERVAL 100 DAY) |
  4. +-----------------------------------+
  5. | 2009-12-20 10:51:18               |
  6. +-----------------------------------+
  7. 1 ROW IN SET (0.00 sec)

Juega un poco con la función date_add. Esto soluciona tu problema.
nop, esto no me soluciona

Yo necesito en este ejemplo que de dia ponga un 10 y que le sume 3 meses y si la fecha es superior al dia 10 pues le sume otro mes

És para mis clientes, representa que tengo un cliente que me paga a 90 dias y el dia 10, pues si yo hago la factura el 15 de mayo del 2009 la fecha de vencimiento (cuando me va a pagar el cliente) tendria que ser:

90 dias = 15 de Agosto de 2009

però como me paga solo los dias 10, la fecha de vencimiento serà el 10 de Septiembre de 2009

Gracias de todas formas
  #4 (permalink)  
Antiguo 11/09/2009, 10:03
Avatar de nonpublic  
Fecha de Ingreso: agosto-2009
Mensajes: 240
Antigüedad: 14 años, 8 meses
Puntos: 4
Respuesta: Tratar fechas avanzado

Agregale
Cita:
CASE WHEN DAY( date_add( now( ) , INTERVAL 100
DAY ) ) >10
THEN "LOQUEQUIERAS"
END
  #5 (permalink)  
Antiguo 11/09/2009, 10:10
Avatar de flanagan44  
Fecha de Ingreso: abril-2004
Mensajes: 182
Antigüedad: 20 años
Puntos: 2
Respuesta: Tratar fechas avanzado

No conozco esa sentencia, podrias contruirla para ver como va?

de mientras voy indagando por internet (cada dia se aprende algo nuevo jejeje)

gracias
  #6 (permalink)  
Antiguo 11/09/2009, 10:15
Avatar de nonpublic  
Fecha de Ingreso: agosto-2009
Mensajes: 240
Antigüedad: 14 años, 8 meses
Puntos: 4
Respuesta: Tratar fechas avanzado

Cita:
SELECT CASE WHEN DAY( date_add( now( ) , INTERVAL 100
DAY ) ) >10
THEN date_add( now( ) , INTERVAL 120
DAY )
END
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 21:36.