我有这个存储过程:
....
ALTER PROCEDURE [dbo].[CalenderPreload]
@startingSunday date,
@numberOfYears int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @s DATE = DATEADD(year, @numberOfYears, @startingSunday);
.....
我正在尝试使用右键单击SSMS中对象资源管理器中的过程时使用上下文菜单的Execute Stored Procedure...
菜单选项来执行它。
我收到此错误:
操作数类型碰撞:int与日期不兼容
这是我执行程序时SSMS生成的脚本:
EXEC @return_value = [dbo].[CalenderPreload]
@startingSunday = 20151227, -- notice no ' '
@numberOfYears = 5
SELECT 'Return Value' = @return_value
出于某种原因,我的日期没有用引号括起来。
E:显然datetime
传递引号而date
没有?
答案 0 :(得分:0)
根据这里的海报,这可能是一个错误,因为不再支持2008,(我没有选择升级)我的最佳解决方案是使用datetime
代替date