Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2012 “日期与int不兼容”错误,但没有int参数_Sql Server 2012 - Fatal编程技术网

Sql server 2012 “日期与int不兼容”错误,但没有int参数

Sql server 2012 “日期与int不兼容”错误,但没有int参数,sql-server-2012,Sql Server 2012,我正在SQL Server 2012中构建一个SP。我收到了错误消息: 操作数类型冲突:日期与int不兼容 如您所见,我的存储过程中没有INT参数 有人能找出我遗漏了什么吗 CREATE PROCEDURE DailyTickets2 @rd0 DATE = NULL, @rd1 DATE = NULL, @rd2 DATE = NULL AS SET NOCOUNT ON; BEGIN SET @rd0 = GETDATE() SE

我正在SQL Server 2012中构建一个SP。我收到了错误消息:

操作数类型冲突:日期与int不兼容

如您所见,我的存储过程中没有INT参数

有人能找出我遗漏了什么吗

CREATE PROCEDURE DailyTickets2 

    @rd0 DATE = NULL, 
    @rd1 DATE = NULL,
    @rd2 DATE = NULL

AS

    SET NOCOUNT ON;

BEGIN

    SET @rd0 = GETDATE()
    SET @rd1 = DATEADD(day,-1,@rd0)
    SET @rd2 = DATEADD(day,-2,@rd0)

-- Queued Tickets---
(
SELECT
    SUM(CASE WHEN JOB_TICKET.JOB_TICKET_ID <= @rd1 AND JOB_TICKET.CLOSE_DATE IS NULL OR JOB_TICKET.CLOSE_DATE > @rd1
        THEN 1 ELSE 0
        END) AS rd1Queue,
    SUM(CASE WHEN JOB_TICKET.JOB_TICKET_ID <= @rd2 AND JOB_TICKET.CLOSE_DATE IS NULL OR JOB_TICKET.CLOSE_DATE > @rd2
        THEN 1 ELSE 0
        END) AS rd2Queue
    FROM JOB_TICKET
    WHERE JOB_TICKET.MERGED_PARENT_TICKET_ID IS NULL 
        AND JOB_TICKET.DELETED = 0 
)
UNION ALL
(
SELECT
    SUM(CASE WHEN JOB_TICKET.REPORT_DATE >= @rd1 AND JOB_TICKET.REPORT_DATE < @rd0
        THEN 1 ELSE 0
        END) AS rd1Opened,
    SUM(CASE WHEN JOB_TICKET.REPORT_DATE >= @rd2 AND JOB_TICKET.REPORT_DATE < @rd1
        THEN 1 ELSE 0
        END) AS rd2Opened
FROM JOB_TICKET
WHERE JOB_TICKET.MERGED_PARENT_TICKET_ID IS NULL 
        AND JOB_TICKET.DELETED = 0 
)
UNION ALL
(
SELECT
    SUM(CASE WHEN JOB_TICKET.CLOSE_DATE >= @rd1 AND JOB_TICKET.CLOSE_DATE < @rd0 
        THEN 1 ELSE 0
        END) AS rd1Closed,
    SUM(CASE WHEN JOB_TICKET.CLOSE_DATE >= @rd2 AND JOB_TICKET.CLOSE_DATE < @rd1
        THEN 1 ELSE 0
        END) AS rd2Closed
FROM JOB_TICKET
WHERE JOB_TICKET.MERGED_PARENT_TICKET_ID IS NULL 
        AND JOB_TICKET.DELETED = 0 
)
END
GO

这些声明运行良好。错误可能在其他地方。如何调用该过程?由于您遗漏了过程的签名,因此使用参数创建过程我们无法真正知道没有INT参数……请使用存储过程的完整代码编辑您的问题。使用完整代码编辑您的查询中JOB\u TICKET.JOB\u TICKET\u ID列的数据类型是什么?