SQL Server 更新导致 Datediff 不起作用

问题描述

我知道已经有几篇关于这个主题文章,我浏览了它们,但我仍然无法让它正常运行。我也使用了 DATEDIFF_BIG,但随后出现此错误

DATEDIFF_BIG 不是可识别的内置函数名称

这曾经能够运行,但我认为有一个 sql 服务器更新,现在所有 TAT 查询都中断了。

SELECT
    MSTR.FirsT_OF_MTH AS [MONTH],COALESCE(R.[AREA],T.[AREA]) AS [AREA],COALESCE(R.NUM_REQUESTS,0) AS NUM_REQUESTS,COALESCE(R.DURATION_REQ,0) AS DURATION_REQ,COALESCE(T.NUM_TRANS,0) AS NUM_TRANS,COALESCE(T.DURATION_TRANS,0) AS DURATION_TRANS
FROM
        (
        SELECT FirsT_OF_MTH
        FROM [EPICDW].[DBO].[DATE_EXT]
        WHERE (YEAR([DATE_EXT].[THEDATE]) BETWEEN YEAR(GETDATE()) - 1 AND YEAR(GETDATE()))
        GROUP BY FirsT_OF_MTH
        ) MSTR
LEFT JOIN 
        (
        --transactions
        SELECT
                DATEADD(month,DATEDIFF(month,[CLOSE_DT]),0) AS [MONTH],[TEAM] AS AREA,SUM(1) AS NUM_TRANS,SUM(B.[Calendar_Duration]) AS DURATION_TRANS
        FROM [dbo].[v_tab_config_bl_trans_comb]
        CROSS APPLY fn_Ben_Ops_Turnaround ([OPEN_DT],[CLOSE_DT]) B
        WHERE Year([CLOSE_DT]) BETWEEN YEAR(GETDATE()) - 1 AND YEAR(GETDATE())
        GROUP BY
                DATEADD(month,0),[TEAM]
        ) T
        ON MSTR.FirsT_OF_MTH = T.[MONTH]
LEFT JOIN 
        (
        --requests
        SELECT 
                DATEADD(month,[CLOSED_DT]),TEAM AS AREA,SUM(1) AS NUM_REQUESTS,SUM([DUR_CAL]) AS DURATION_REQ
          FROM [dbo].[v_tab_config_requests]
          WHERE year([CLOSED_DT]) BETWEEN YEAR(GETDATE()) - 1 AND YEAR(GETDATE())
        GROUP BY DATEADD(month,TEAM
        ) R
ON MSTR.FirsT_OF_MTH = R.[MONTH]
AND T.AREA = R.AREA

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)