4
4

1 回答 1

4

好吧,您正在使用的特殊字符:

ASCII 不支持。看:

DECLARE @x VARCHAR(32) = 'EC801/╡USB/Exch Acc/JP/PE bag';
SELECT @x;

结果:

EC801/¦USB/Exch Acc/JP/PE bag

所以更新工作正常,从技术上讲,它只是没有做你想要的,因为为了适应 ASCII 空间,它必须用你的字符替换一个有效的字符。

为了支持该字符,您必须在列中使用 Unicode(也许是特定的排序规则,我不确定)。这工作正常:

DECLARE @x NVARCHAR(32) = N'EC801/╡USB/Exch Acc/JP/PE bag';
SELECT @x;

结果:

EC801/╡USB/Exch Acc/JP/PE bag

N在包含此类字符的字符串文字上指定前缀很重要......

于 2013-08-08T22:09:16.897 回答