来自2列的Datediff

时间:2019-01-21 13:31:55

标签: php mysql sql date

我正在尝试获取2个日期之间的日期,但是我只是遇到错误。我尝试搜索它,但没有任何东西真正对我有帮助,我希望你们可以在这里帮助一个男孩。

此代码出现的错误:

  

致命错误:未捕获的PDOException:SQLSTATE [42000]:语法错误或   访问冲突:1582对本机的调用中的参数计数不正确   函数“ DATEDIFF”在   C:\ xampp \ htdocs \ Rent-a-Car \ pages \ medewerkers.php:197堆栈跟踪:#0   C:\ xampp \ htdocs \ Rent-a-Car \ pages \ medewerkers.php(197):   PDO-> query('SELECT DATEDIFF ...')#1 {main}被抛出   C:\ xampp \ htdocs \ Rent-a-Car \ pages \ medewerkers.php,第197行

my code to display it several times in the table

The database

使用的sql命令:

$sql1 = "SELECT * FROM factuur 
LEFT JOIN factuurregel ON factuur.Factuurnummer = factuurregel.Factuurnummer
LEFT JOIN gebruiker ON factuur.Klantcode = gebruiker.Klantcode
LEFT JOIN auto ON factuur.Kenteken = auto.Kenteken";
$sql2 = "SELECT DATEDIFF (day, Begindatum, Einddatum) AS Tijd from factuurregel;";

3 个答案:

答案 0 :(得分:1)

DATADIFF函数返回两个日期之间的天数。您不应该在其中传递day参数

SELECT DATEDIFF (Begindatum, Einddatum) AS Tijd FROM factuurregel

答案 1 :(得分:1)

该错误表明参数计数无效。根据文档-https://www.w3resource.com/mysql/date-and-time-functions/mysql-datediff-function.php

SELECT DATEDIFF (Begindatum, Einddatum) AS Tijd from factuurregel

答案 2 :(得分:0)

如果您使用的是MySQL,则可能需要:

SELECT DATEDIFF(Einddatum, Begindatum) AS Tijd
FROM factuurregel;

请注意,参数是相反的。 MySQL和SQL Server都具有称为datediff()的函数。它们不仅在参数数量上不同,而且在日期顺序上也不同。