T-SQL Update Nvarchar列,带有十进制分隔文本('cmi.core.lesson_status')错误

时间:2014-10-06 12:18:20

标签: sql database sql-server-2008

我正在使用SQL Server 2008 R2中的Moodle数据库。我正在尝试使用十进制分隔的字符串值更新NVarchar(255) NOT NULL列,例如&c; cmi.core.lesson_status'但总是会出错。

col = N'cmi.core.lesson_status' ==> doesn't save

奇怪,但如果我删除'最后保存

col = N'cmi.core.lesson_statu' ==> saves but no 's' at the end

如果我删除一个小数,则保存

col = N'cmicore.lesson_status' ==> saves

如果我删除一个小数并添加更多文本,那么它也会保存

col = N'cmicore.lesson_statusaaaaaaaa' ==> works

有人可以帮忙吗?

由于

1 个答案:

答案 0 :(得分:0)

感谢有用的提示' Alex K'。

与NVarchar变量没什么关系。

当与字符串数据一起使用时,问题出现在Real变量@code上。我只是添加了CAST,它可以工作

@strSQL = N'code is' + @code

我将其改为

@strSQL = N'code is' + CAST(@code As Varchar(12))

感谢您的帮助。