我想将日期时间转换为nvarchar(64)。以下代码是用作一系列存储过程参数的一部分的代码片段。我已经包括了有错误的区域。
关键字'CONVERT‘附近的语法不正确
exec mysproc...@Password=N'',@IsAuthorized=1,
@UTCTIMESTAMP=CONVERT(NVARCHAR(64), GETUTCDATE(), 121),
@UserId=@SingleId output你知道这个语法有什么问题吗?
发布于 2013-01-19 06:48:19
在调用存储过程之前,您需要执行这样的计算,您不能在将值传递给参数的过程中执行此操作。例如:
DECLARE @utc NVARCHAR(64) = CONVERT(NVARCHAR(64, GETUTCDATE(), 121);
EXEC mysproc
@Password = N'',
@IsAuthorized = 1,
@UTCTIMESTAMP = @utc,
@UserId = @SingleId OUTPUT;这并不局限于函数调用;您也不能执行以下操作:
EXEC sp_help @objname = N'sys.' + 'tables';结果:
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '+'.https://stackoverflow.com/questions/14408734
复制相似问题