我有一个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时出错。
我没有在函数中进行任何类型的数据访问。我所拥有的是使用传入的其他信息来处理字符串的代码。任何人都知道这个问题可能是什么以及我如何解决它?
答案 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())