我的Sql查询。减去两个日期值时的值不正确

时间:2018-05-15 20:54:45

标签: mysql

SELECT (CURRENT_DATE - P.DataDiPrestito) AS "Sisssssss"
FROM prestito P, utente U
WHERE P.id_Utente = U.ID_Utente

因此,我按当前日期从我的数据库中减去日期的值,以查看它们之间的差异。

问题在于,当我在同一个月减去一个值时,结果是正确的,但是从它之前的一个月开始,它就没有了。

今天是5月15日,如果从中减去相同的日期值,我得到0,如果从中减去我得到1之前的那一天的日期值,依此类推。

但是当我从4月份减去一个值时,我会得到正确的值加70.就像,如果我这样做(5月15日 - 4月30日),我应该得到15,但我得到85,依此类推,如果尝试使用3月或2月我会得到更高的值,如果尝试(5月15日 - 2月6日)我得到309。

我该怎么办?

2 个答案:

答案 0 :(得分:1)

相互减去日期并不像你认为的那样有效。

如果从5月15日开始减去4月30日,这就是内部计算的内容:

20180515 - 20180430 = 85

这些数字只是被视为小数。

您正在寻找的功能称为DATEDIFF()

答案 1 :(得分:0)

您应该查看DATEDIFF()功能。这将做你想要的,给出两个日期之间的日差。

DATEDIFF(expr1,expr2)