在mySQL中使用DATEDIFF函数

时间:2018-03-17 17:40:42

标签: mysql datediff

尝试使用以下查询在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'

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

我缺少什么?

感谢。

3 个答案:

答案 0 :(得分:0)

来自MySQL文档:

DATEDIFF()返回expr1 - expr2,表示为中从一个日期到另一个日期的值。 expr1和expr2是日期或日期和时间表达式。在计算中仅使用值的日期部分。

  • DATEDIFF(表达式1,表达式2)

使用:

SELECT DATEDIFF(___Bookings.BOO_DateCI, ___Bookings.BOO_DateCO)

答案 1 :(得分:0)

试试这个:

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

答案 2 :(得分:0)

尝试这种结构。

  

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;