【发布时间】:2014-06-30 15:03:56
【问题描述】:
我正在尝试使用此存储过程根据两个值来SELECT 行:
ALTER PROCEDURE [dbo].[MYSelect]
-- Parameters with default values
@MitarbeiterId AS int,
@Wann AS datetime2(7)
AS
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT *
FROM [Plan]
WHERE RefMitarbeiterId = @MitarbeiterId
AND Jahr <= YEAR(@Wann)
AND Monat <= MONTH(@Wann)
AND Abgeschlossen = 0
问题出在以下部分:
AND Jahr <= YEAR(@Wann)
AND Monat <= MONTH(@Wann)
我不知道为什么这部分会导致(语法)问题。包含这些行后,使用 MSSQL Studio,我收到错误 unable to convert DateTime to Integer。删除这些返回结果并且没有语法错误。我在其他地方使用YEAR() 和MONTH(),所以我很困惑为什么这里有问题。
这是Plan 表:
【问题讨论】:
-
问题出在哪里?
标签: sql stored-procedures sql-server-2012