今天在更新数据库时,发现了一个问题:
DECLARE @XMLSTR XML
SET @XMLSTR='
<translations>
<Label LanguageCode="fr-FR">法语se600</Label>
<Label LanguageCode="kr-KR">韩语se600</Label>
<Label LanguageCode="zh-CN">se600</Label>
</translations>
'
UPDATE [tbm_user]
SET [UserLocation]=@XMLSTR
更新完毕后出现乱码,非常奇怪,问了问同事,原来是没有将 @XMLSTR里面的值设置为Nvarchar,这样系统就不认了,正确的写法如下:
DECLARE @XMLSTR XML
SET @XMLSTR= N'
<translations>
<Label LanguageCode="fr-FR">法语se600</Label>
<Label LanguageCode="kr-KR">韩语se600</Label>
<Label LanguageCode="zh-CN">se600</Label>
</translations>
'
UPDATE [tbm_user]
SET [UserLocation]=@XMLSTR
看来数据库中的XML用得还是少,不熟悉啊。
DECLARE @XMLSTR XML
SET @XMLSTR='
<translations>
<Label LanguageCode="fr-FR">法语se600</Label>
<Label LanguageCode="kr-KR">韩语se600</Label>
<Label LanguageCode="zh-CN">se600</Label>
</translations>
'
UPDATE [tbm_user]
SET [UserLocation]=@XMLSTR
更新完毕后出现乱码,非常奇怪,问了问同事,原来是没有将 @XMLSTR里面的值设置为Nvarchar,这样系统就不认了,正确的写法如下:
DECLARE @XMLSTR XML
SET @XMLSTR= N'
<translations>
<Label LanguageCode="fr-FR">法语se600</Label>
<Label LanguageCode="kr-KR">韩语se600</Label>
<Label LanguageCode="zh-CN">se600</Label>
</translations>
'
UPDATE [tbm_user]
SET [UserLocation]=@XMLSTR
看来数据库中的XML用得还是少,不熟悉啊。