操作数数据类型日期对于减法运算符无效

Kam*_*Par 7 sql-server function

我的表中有一个名为 的字段[LastDate] with DataType Date。我将编写一个计算 的函数[LastDate]-@PassedParameter,但发生了错误:

Operand data type date is invalid for subtract operator.
Run Code Online (Sandbox Code Playgroud)

我不知道为什么?

hara 的功能是:

CREATE FUNCTION Salman( @Date  date )
RETURNS TABLE 
AS
RETURN 
(

SELECT TOP 1000 [ID]
      ,[Name]
      ,[LastDate]
      ,[Rule]
      ,[CoA]
  FROM [Scheduling_Employee].[dbo].[Group]
  where ([LastDate]-@Date)%[Rule]=0  
)
GO
Run Code Online (Sandbox Code Playgroud)

Rah*_*thi 7

您可以尝试使用DATEDIFF 函数

DATEDIFF ( datepart , startdate , enddate )
Run Code Online (Sandbox Code Playgroud)

所以根据你的情况,你可以这样改变:

where DATEDIFF(dd,LastDate,@Date)%[Rule]=0
               ^^--Change this to mm,qq whatever you want.
Run Code Online (Sandbox Code Playgroud)