SQL 用户定义函数计算两个日期之间的天数

SQL User Defined Function to calculate the number of days between two dates

CREATE FUNCTION weekdays (DATE1 DATETIME, DATE2 DATETIME) 
    RETURNS INTEGER
    BEGIN 
        RETURN DATEDIFF(day, DATE1, DATE2);
    END

错误:"BEGIN" 处或附近的语法错误 第 3 行:开始

我错过了什么。我尝试了多种变体,但还没有解决它。我正在使用 MySQL。

试试这个:

delimiter $$

CREATE FUNCTION weekdays (DATE1 DATETIME, DATE2 DATETIME) 
    RETURNS INTEGER
    BEGIN 
        RETURN DATEDIFF(DATE1, DATE2);
    END $$

DATEDIFF 只接受两个参数。

它对我有用:

SELECT A.DOCNUMBR,A.DOCDATE,DATEDIFF(DAY,A.DOCDATE,GETDATE()) AS DAYS_CALC,
  FROM RM_TRANSACTIONS AS A
WHERE A.CURTRXAMNT <> 0

结果显示文档编号、文档日期和文档存在的天数。

如果您想稍后在 Excel 中最终创建账龄报告,这将非常有用。

欧文-PR