Visual Basic.NET - como calcular y almacenar la diferencia entre dos fechas en un campo MySQL

 
Vista:
sin imagen de perfil
Val: 43
Ha aumentado 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

como calcular y almacenar la diferencia entre dos fechas en un campo MySQL

Publicado por Ignacio (27 intervenciones) el 13/06/2019 18:26:31
Hola buenas,

Me gustaría saber como calcular y almacenar la diferencia entre dos fechas en un campo MySQL.

Si cargo un dataset y lo voy recorriendo, lo consigo sin problemas, pero me gustaría saber si lo puedo realizar con una única consulta a todos los registros a la vez.

Algo así, pero no me funciona:

1
CadenaSQL = "UPDATE mitabla SET DIASEN_EN =" & DateDiff(DateInterval.Day, FECHA1_EN, FECHA2_EN)

Un saludo y gracias de antemano.
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
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

como calcular y almacenar la diferencia entre dos fechas en un campo MySQL

Publicado por Phil Rob (1546 intervenciones) el 14/06/2019 11:51:07
Hola,

Este es todavía un Integer o Long.

Propongo que probas el código siguiente :

1
2
3
4
5
6
7
8
9
10
' ... ... ...
        Dim Fecha1_EN As DateTime = CType("10/06/2019", Date)
        Dim Fecha2_EN As DateTime = CType("14/06/2019", Date)
        Dim Diferencia As Long
        MessageBox.Show(Fecha1_EN.ToString & "  " & Fecha2_EN.ToString)
        Diferencia = Fecha2_EN.Day - Fecha1_EN.Day
        MessageBox.Show(Diferencia)
        Diferencia = Fecha2_EN.Minute - Fecha1_EN.Minute
        MessageBox.Show(Diferencia)
' ... ... ...

Como veras, es posible calcular las diferencias ente los días, o las horas, los minutos, … pero solo los que están en las fechas escribido. Por ejemplo, no pongo las horas en mis fechas, es la razón que Fecha2_EN.Hour - Fecha1_EN.Hour da cero, et non 4 x 24.

Adjunto algún códigos con el programa CalebndrierES01. El programa da el nombre del día de la fecha introducido. No es que buscas pero en el código, encuentras funciones que todos deben ser presente.
La función NumeroDiasEntreFechas(ByVal FechaDevuelta1 As Integer, ByVal FechaDevuelta2 As Integer) da el cuanto de días ente 2 fechas. Este debería te ayudar.

Tu codigo SQL deberia ser (±) :
1
2
Dim Diferencia As Long = NumeroDiasEntreFechas(DevolverFecha(FECHA1_EN.ToString), DevolverFecha(FECHA2_EN.ToString)) ' Fechas en formato "dd/mm/aaaa".
CadenaSQL = "UPDATE mitabla SET DIASEN_EN =" & Diferencia

Saludos
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 Giancarlo
Val: 377
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

como calcular y almacenar la diferencia entre dos fechas en un campo MySQL

Publicado por Giancarlo (488 intervenciones) el 18/06/2019 23:01:48
si vas a actualizar todos los registros a la vez, puede hacer un comando directo al mysql, en todo caso, si lo usarás desde el .net tenrías que usar el comando datediff

1
update mitabla set diferencia=datedif(feReciente, feAntigua)

donde feReciente y feAntigua son las columnas de tu tabla
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