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;