我想要做的就是将带有DIRECT CURRENT SYMBOL FORM TWO ⎓
字符的字段更新到我的SQL Server 2012数据库中。那是过分的要求?显然是。
this question和this question 的答案是相同的,对我来说无效。
我的更新脚本</ p>
UPDATE Table
SET Value = N'SUPPLY 9-30Vdc 0.2W ⎓'
WHERE id = '1234'
Aaaa和相关的表架构:
CREATE TABLE [dbo].[Table]
(
...
...
[Value] [nvarchar] (1000) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
...
...
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
想了解更多?这是sp_columns
:
是的,我在字符串上添加了N&#39;&#39;。那应该有用,对吗?不。
截图:
注意unicode字符所在的小方框。为什么呢?
答案 0 :(得分:5)
根据您的问题的评论讨论,您的SQL代码是正确的并且正在更新unicode字符,但SQL Server Management Studio不能(由于某种原因)在GRID结果集中显示此unicode字符。 如果将结果视图更改为TEXT(control + T),则应该看到unicode字符。
&#34;如果您使用SSMS进行查询,请从&#34; Grid&#34;更改为输出类型。到&#34;文字&#34;,因为根据字体,网格无法显示unicode。&#34;
答案 1 :(得分:0)
您可以尝试:
UPDATE Table SET Value = 'N' + char(39) + 'SUPPLY 9-30Vdc 0.2W ⎓' WHERE id = '1234'
也许:
SET QUOTED_IDENTIFIER OFF;
UPDATE Table SET Value = REPLACE(Value, "N'SUPPLY ", "SUPPLY") WHERE id = '1234'
SET QUOTED_IDENTIFIER ON;
我希望这会有所帮助......
祝你好运!
答案 2 :(得分:0)
感谢@Aron,我遇到了下一个问题:
在SSMS中,当我从网格结果(数据库A中的表A)中复制Sighișoara
之类的文本并粘贴到插入查询(数据库B中的表B)中时,此插入的结果为{{ 1}},带有询问字符。
在SSMS中对我有帮助的步骤:
Sighi?oara
中选择选项Show settings for
,并为此选项使用Unicode字体。Grid Results
,而不是nvarchar(X)
。请确保在插入数据时,在字符串前加varchar(X)
,如下所示:
N character
(对于SSMS 17.9.1)
答案 3 :(得分:-1)
没有名为“value”的列。 这有用吗?
UPDATE Table SET COLUMN_NAME = N'SUPPLY 9-30Vdc 0.2W ⎓' WHERE id = '1234'