SQL - calcular dias al restar fechas

 
Vista:
sin imagen de perfil
Val: 14
Ha disminuido su posición en 2 puestos en SQL (en relación al último mes)
Gráfica de SQL

calcular dias al restar fechas

Publicado por Estudiante (8 intervenciones) el 14/06/2017 20:59:16
buenas tardes, tengo la siguiente interrogante, espero su ayuda: tengo una tabla con 3 campos: codigo, nombre y fecha(de tipo date) ...la columna fecha tiene diferentes fechas(no son consecutivas) ,al hacer alguna consulta quisiera mostrar la diferencia de dias que hay entre esas fechas:

codigo | nombre | fecha | dias

1| a | 2017-03-08| null
2 | b| 2017-04-01 | (aca debe mostrar la diferencia de dias entre 2017-04-01 y 2017-03-08)
3 | c| 2017-05-05 | (aca debe mostrar la diferencia de dias entre 2017-05-05 y 2017-04-01)

.....y asi continuamente con el resto de filas......espero su ayuda de como lograr esto...gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 177
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

calcular dias al restar fechas

Publicado por leonardo_josue (1172 intervenciones) el 14/06/2017 21:52:30
Hola Estudiante:

Hace algunos días contesté una pregunta semejante a la que haces, checa el Post para ver si te puede servir:

http://www.lawebdelprogramador.com/foros/SQL/1607576-Restar-perido.html

el Ejemplo está en MySQL, pero creo que se puede ajustar a cualquier DBMS que manejes, haz la prueba y nos comentas.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha disminuido su posición en 2 puestos en SQL (en relación al último mes)
Gráfica de SQL

calcular dias al restar fechas

Publicado por Estudiante (8 intervenciones) el 14/06/2017 22:11:28
lo probe, me arroja este error: El tipo de datos date del operando no es válido para el operador subtract.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 177
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

calcular dias al restar fechas

Publicado por leonardo_josue (1172 intervenciones) el 14/06/2017 22:21:48
Hola de nuevo Estudiante:

¿con qué motor de BD's estás trabajando? y ¿cuál fue la consulta que probaste?

El mensaje de error es bastante claro y es que estás tratando de restar directamente dos fechas, lo cual no lo permite tu BD's sea cual sea que estás utilizando.

Si pusiste atención a mi POST, menciono que hay funciones especiales que tiene cada DBMS para el manejo de fechas... en el caso de MySQL, la función para encontrar la diferencia entre dos fechas es TIMESTAMPDIFF, y no el operador de resta (-)

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha disminuido su posición en 2 puestos en SQL (en relación al último mes)
Gráfica de SQL

calcular dias al restar fechas

Publicado por Estudiante (8 intervenciones) el 14/06/2017 22:39:56
utilizo SQL server 2008, ya logre solucionar el problema, pero ahora, la diferencia de los dias me da en negativo, eso es correcto para mi, ya que eso busco, pero hay alguna forma de que los que me den positivos aparezca NULL, no ocultarlos solo ponerles NULL
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 2.131
Oro
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

calcular dias al restar fechas

Publicado por Isaias (1579 intervenciones) el 14/06/2017 23:48:58
Con un CASE puedes preguntar, si es <0 que lo ponga en NULL
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar