我正在 mySQL DB 中编写此查询。 listing 表有两列 StartDateEndDate 。我想使用 Duration 返回 DATEDIFF ,即这两个日期之间的天数。我的查询是:

SELECT DATEDIFF(StartDate, EndDate) as 'Duration' FROM listing;

该表在 Duration 列中返回 NULL。

如果我写,
SELECT DATEDIFF(day, StartDate, EndDate) as 'Duration' FROM listing;

返回
Error Code: 1582. Incorrect parameter count in the call to native function 'datediff'   0.000 sec

任何帮助将不胜感激。

最佳答案

问题是 DATEDIFF() 期望日期采用 YYYYMMDD 格式,而我给出的 StartDateEndDate 的列输入是 MMDDYYYY 。我将其更改为 YYYYMMDD 并且它起作用了。因此,以下带有 YYYYMMDD 格式日期的表达式可以正常工作。

SELECT DATEDIFF(StartDate, EndDate) as 'Duration' FROM listing;

关于mysql - SQL 查询 DATEDIFF 返回 NULL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15305927/

10-13 07:09