Sql server SQLServer2005XML更新查询汉字
我正在尝试用汉字更新标记的值。但是它没有添加汉字。相反,它添加了“?”。 e、 g.更新表格集合col.modify((/tag/text())[1]的值替换为“我"') 哪里 非常感谢您的帮助 谢谢Sql server SQLServer2005XML更新查询汉字,sql-server,xml,sql-server-2005,cjk,Sql Server,Xml,Sql Server 2005,Cjk,我正在尝试用汉字更新标记的值。但是它没有添加汉字。相反,它添加了“?”。 e、 g.更新表格集合col.modify((/tag/text())[1]的值替换为“我"') 哪里 非常感谢您的帮助 谢谢 Ben对于这样的国际字符,您通常希望使用N'this is my data'表示它是unicode/nchar。否则它将被视为字符,我假设db排序规则无法支持您提交的字符。请尝试这样做 select 'my chars' 看看你是否还有问号,我想是的 编辑-以下是一个证实我的建议有效的示例: d
Ben对于这样的国际字符,您通常希望使用N'this is my data'表示它是unicode/nchar。否则它将被视为字符,我假设db排序规则无法支持您提交的字符。请尝试这样做
select 'my chars'
看看你是否还有问号,我想是的
编辑-以下是一个证实我的建议有效的示例:
declare @x xml
set @x = N'<tag>abc</tag>'
set @x.modify (N'replace value of (/tag/text())[1] with "我"')
select @x
declare@xxml
设置@x=N'abc'
set@x.modify(N'将(/tag/text())[1]的值替换为“我"')
选择@x
当我选择xml时,我看到了符号,我验证了字符的前后是0x1162(证明数据是完整的)。是否使用unicode字符串?这些字符串以大写字母N开头,如:
update yourtable
set yourvalue = N'your chinese characters'
where id = yourid
我正在尝试更新xml数据。更新适用于nvarchar数据类型,但如果我尝试更新xml数据类型,则更新不起作用work@poster-请参阅我在中编辑的示例。这确实有效,因此如果这种方法仍然给您带来麻烦,您一定是做错了其他事情。如果您仍然存在问题,请向我们提供更多详细信息。我正在发送dat数据类型为nvarchar。仍然保存为???update table set col.modify('replace value of(/tag/text())[1]为sql:variable(@data'))@data的数据类型是nvarchar。我正在尝试更新xml数据。更新适用于nvarchar数据类型,但如果我尝试更新xml数据类型,则更新无效。能否发布表定义和示例xml?我无法理解;)更新表集col.modify(/tag/text()[1]的值替换为sql:variable(@data)))@data的数据类型为nvarchar@unknown:我将您的另一个问题(Sql server 2005 awe)转移到serverfault.com,希望它能得到更多了解它的人的回复。