Nuestros mejores programadores agotaron sus depósitos de café, buscando diariamente por la resolución, hasta que Gerardo halló la contestación en Beanstalk así que ahora la compartimos aquí.
Solución:
SELECT julianday('now') - julianday(DateCreated) FROM Payment;
Diferencia en días
Select Cast ((
JulianDay(ToDate) - JulianDay(FromDate)
) As Integer)
Diferencia en horas
Select Cast ((
JulianDay(ToDate) - JulianDay(FromDate)
) * 24 As Integer)
Diferencia en minutos
Select Cast ((
JulianDay(ToDate) - JulianDay(FromDate)
) * 24 * 60 As Integer)
Diferencia en segundos
Select Cast ((
JulianDay(ToDate) - JulianDay(FromDate)
) * 24 * 60 * 60 As Integer)
Ambas respuestas brindan soluciones un poco más complejas, como deben ser. Digamos que el pago se creó el January 6, 2013
. Y queremos saber la diferencia entre esta fecha y hoy.
sqlite> SELECT julianday() - julianday('2013-01-06');
34.7978485878557
La diferencia es de 34 días. Nosotros podemos usar julianday('now')
para una mejor claridad. En otras palabras, no necesitamos poner
date()
o datetime()
funciona como parámetros para julianday()
función.
Si guardas algún recelo y disposición de arreglar nuestro división eres capaz de escribir una nota y con deseo lo analizaremos.