Sql server 2012 “日期与int不兼容”错误,但没有int参数
我正在SQL Server 2012中构建一个SP。我收到了错误消息: 操作数类型冲突:日期与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
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列的数据类型是什么?