无法运行此 MySQL 查询


SELECT MIN(DATE) as START_DATE,
MAX(DATE) as END_DATE, 
datediff(day, START_DATE, END_DATE) AS DURATION
FROM CUSTOMER;

我在执行上述查询时收到此错误。有人可以帮我解决这个问题吗?我正在尝试获取它们之间的开始日期,结束日期和持续时间。

错误代码:1582。调用本机函数"DATEDIFF"时参数计数不正确

SELECT MIN(DATE) as START_DATE,MAX(DATE) as END_DATE, 
datediff(MIN(DATE), MAX(DATE)) AS DURATION 
FROM CUSTOMER;

代码中有多个错误:

  • 您正在使用带有三个参数的datediff()。 这是一个SQL Server函数,而不是MySQL函数。
  • 其次,您使用列别名作为函数的参数。 这是不允许的。

另外,您需要记住,datediff()参数以MySQL中的较大值开头,而不是较小的值。 所以:

select min(date) as start_date, max(date) as end_date,
datediff(max(date), min(date)) as duration
from customer;

相关内容

  • 没有找到相关文章

最新更新