在 SSMS 生成的脚本中,日期参数未包含在引号中
Date parameter not enclosed in quotes in SSMS-generated script
我有这个存储过程:
....
ALTER PROCEDURE [dbo].[CalenderPreload]
@startingSunday date,
@numberOfYears int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @s DATE = DATEADD(year, @numberOfYears, @startingSunday);
.....
我试图在 SSMS 的对象资源管理器中右键单击过程时使用上下文菜单的 Execute Stored Procedure...
菜单选项来执行它。
我收到这个错误:
Operand type clash: int is incompatible with date
这是SSMS在我执行程序时生成的脚本:
EXEC @return_value = [dbo].[CalenderPreload]
@startingSunday = 20151227, -- notice no ' '
@numberOfYears = 5
SELECT 'Return Value' = @return_value
出于某种原因,我的日期没有用引号引起来。
E:显然 datetime
通过了引号,而 date
没有?
根据这里的海报,这可能是一个错误,因为不再支持 2008,(而且我没有升级的选项)我最好的解决方案是使用 datetime
而不是 date
.
我有这个存储过程:
....
ALTER PROCEDURE [dbo].[CalenderPreload]
@startingSunday date,
@numberOfYears int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @s DATE = DATEADD(year, @numberOfYears, @startingSunday);
.....
我试图在 SSMS 的对象资源管理器中右键单击过程时使用上下文菜单的 Execute Stored Procedure...
菜单选项来执行它。
我收到这个错误:
Operand type clash: int is incompatible with date
这是SSMS在我执行程序时生成的脚本:
EXEC @return_value = [dbo].[CalenderPreload]
@startingSunday = 20151227, -- notice no ' '
@numberOfYears = 5
SELECT 'Return Value' = @return_value
出于某种原因,我的日期没有用引号引起来。
E:显然 datetime
通过了引号,而 date
没有?
根据这里的海报,这可能是一个错误,因为不再支持 2008,(而且我没有升级的选项)我最好的解决方案是使用 datetime
而不是 date
.