SELECT MIN(DATE) as START_DATE, MAX(DATE) as END_DATE, datediff(day, START_DATE, END_DATE) AS DURATION FROM CUSTOMER;
我在执行上述查询时遇到此错误。有人能帮我解决这个问题吗。我想知道他们之间的开始日期,结束日期和持续时间。错误代码:1582。对本机函数“datediff”的调用中的参数计数不正确
q5lcpyga1#
SELECT MIN(DATE) as START_DATE,MAX(DATE) as END_DATE, datediff(MIN(DATE), MAX(DATE)) AS DURATION FROM CUSTOMER;
oxf4rvwz2#
您的代码中有多个错误:您正在使用 datediff() 有三个论点。这是一个sql server函数,而不是mysql函数。其次,使用列别名作为函数的参数。这是不允许的。另外,你需要记住 datediff() 从mysql中较大的值开始,而不是较小的值。所以:
datediff()
select min(date) as start_date, max(date) as end_date, datediff(max(date), min(date)) as duration from customer;
2条答案
按热度按时间q5lcpyga1#
oxf4rvwz2#
您的代码中有多个错误:
您正在使用
datediff()
有三个论点。这是一个sql server函数,而不是mysql函数。其次,使用列别名作为函数的参数。这是不允许的。
另外,你需要记住
datediff()
从mysql中较大的值开始,而不是较小的值。所以: