0
我正在读取数据库表中的一些数据,并且文本中包含'/'字符。在SQL Server 2008中插入特殊字符RE
我现在需要将此字符串插入到不同的SQL表中,但是我有问题正确地转义它。
如果我读的字符串包含以下模式:
Test/test2
经过一番搜索谷歌,我现在用插入的文本 (谷歌裁判Ref1和Ref2)
Field1= replace (cast('Test/th' as nvarchar),'/','\\\')
但它仍然返回错误:
Msg 8152, Level 16, State 2, Line 18 String or binary data would be truncated.
如果我使用:
Field1= replace (cast('Test/th' as nvarchar),'/','')
一切都很好
谁能帮助我与我的例外条款吗?
该错误将表明您尝试存储的字符串比列接受的时间长。我认为这与特殊字符没有任何关系。 'Field1'的定义是什么?您还应该在转换中使用带'NVARCHAR'的长度,例如'CONVERT(NVARCHAR(20),'Test/th')' – GarethD
第一次替换的意义是什么?你正在用正斜杠来改变正斜杠的所有实例。 –
对不起,你是正确的,它是为了\ –