将 DATEDIFF 函数与 mySQL 一起使用

Use DATEDIFF function with mySQL

只需尝试将 SQL 中的 DATEDIFF 本机函数与我的以下查询一起使用:

SELECT 
    KDX_Id, 
    (
        SELECT DATEDIFF('DAY', ___Bookings.BOO_DateCI, ___Bookings.BOO_DateCO)
        FROM ___Bookings
        WHERE KDX_Id = ___Bookings.BOO_ClientId
    ) AS nb_nights
FROM  ___Kardex

错误信息是:
#1582 - Incorrect parameter count in the call to native function 'DATEDIFF'.

Table 结构是:
http://sqlfiddle.com/#!9/25399/2

我错过了什么?

谢谢。

来自 MySQL 文档:

DATEDIFF() returns expr1 − expr2 表示为从一个日期到另一个日期的 中的值。 expr1 和 expr2 是日期或 date-and-time 表达式。计算中仅使用值的日期部分。

  • DATEDIFF(expr1,expr2)

使用:

SELECT DATEDIFF(___Bookings.BOO_DateCI, ___Bookings.BOO_DateCO)

试试这个:

SELECT 
    KDX_Id, 
    (
        SELECT DATEDIFF(___Bookings.BOO_DateCI, ___Bookings.BOO_DateCO)
        FROM ___Bookings
        WHERE KDX_Id = ___Bookings.BOO_ClientId
    ) AS nb_nights
FROM  ___Kardex

试试这个结构。

SELECT DATEDIFF(date_1, date_2) FROM my_table;

 /*In your script is */
SELECT DATEDIFF(___Bookings.BOO_DateCI, ___Bookings.BOO_DateCO)
FROM ___Bookings
WHERE KDX_Id = ___Bookings.BOO_ClientId;