我正在 mySQL DB 中编写此查询。 listing
表有两列 StartDate
和 EndDate
。我想使用 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
格式,而我给出的 StartDate
和 EndDate
的列输入是 MMDDYYYY
。我将其更改为 YYYYMMDD
并且它起作用了。因此,以下带有 YYYYMMDD 格式日期的表达式可以正常工作。
SELECT DATEDIFF(StartDate, EndDate) as 'Duration' FROM listing;
关于mysql - SQL 查询 DATEDIFF 返回 NULL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15305927/