Sql 将数据类型nvarchar转换为datetime时出错

Sql 将数据类型nvarchar转换为datetime时出错,sql,sql-server,tsql,clr,Sql,Sql Server,Tsql,Clr,我有一个SQL函数,它接受一个字符串、一个日期和另一个字符串 EXEC dbo.ReplaceString 'You ve been subscribed to the ##company## newsletter.', NOW,'BIG DEES' CREATE Function [dbo].[ReplaceString] ( @main_message As Varchar(500), @date_sent As DateTime

我有一个SQL函数,它接受一个字符串、一个日期和另一个字符串

 EXEC  dbo.ReplaceString 'You ve been subscribed to the ##company## newsletter.',
NOW,'BIG DEES'  


CREATE Function [dbo].[ReplaceString]
(
            @main_message As Varchar(500), 
            @date_sent As DateTime, 
            @company As Varchar(30)

)
RETURNS VARCHAR(650)
AS 
BEGIN 


         RETURN(@main_message)

 END
问题是,当我尝试执行这个函数时,即使在注释掉函数中的所有代码处理逻辑之后,也会出现错误

将数据类型nvarchar转换为datetime时出错。

我没有在函数中进行任何类型的数据访问。我所拥有的只是使用传入的其他信息处理字符串的代码。是否有人知道这个问题可能来自何处以及我如何解决它?

使用
GetDate()
而不是
立即

更新我注意到你说的是日期而不是日期时间,所以试试看

转换(日期,GetDate())


我从GETDATE()改为现在认为这会有所帮助,但我没有意识到这一点。谢谢
-- Try to use a function as a parameter value.
-- This produces an error message.
EXEC dbo.uspGetWhereUsedProductID 819, GETDATE();