将数据类型nvarchar转换为datetime时出错
我有一个SQL函数需要一个字符串,一个DATE和另一个字符串。将数据类型nvarchar转换为datetime时出错
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。
我没有在函数中进行任何类型的数据访问。我所拥有的只是使用传入的其他信息处理字符串的代码。任何人都知道这个问题可能来自哪里,以及我如何修复它?
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();
使用GetDate()
代替NOW
更新我刚才注意到你说的日期不DATETIME所以尽量
转换(日期,GETDATE())
我从GETDATE()更改为NOW认为这将有所帮助,但没有 – Kobojunkie 2010-11-11 01:21:51
我更新了答案如何,如果我得到你正确的 – Raymund 2010-11-11 01:25:43
我根本没有意识到。谢谢! – Kobojunkie 2010-11-11 01:49:19