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

时间:2010-11-11 01:05:09

标签: sql sql-server tsql clr

我有一个SQL函数,它接受一个String,一个DATE和另一个字符串。

 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时出错。

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

2 个答案:

答案 0 :(得分:2)

http://msdn.microsoft.com/en-us/library/ms189915.aspx

-- Try to use a function as a parameter value.
-- This produces an error message.
EXEC dbo.uspGetWhereUsedProductID 819, GETDATE();

答案 1 :(得分:1)

使用GetDate()代替NOW

更新我只是注意到你说DATE不是DATETIME所以试试

convert(date,GetDate())