Sql server 特殊字符(下标)未按比例显示

Sql server 特殊字符(下标)未按比例显示,sql-server,subscript,Sql Server,Subscript,我想把一些化学数据放到表中的列中。但在现有的表中,下标显示为普通字符。其中一些以问号显示。我该怎么做才能修好它 当我键入此代码时 SELECT N'H' + NCHAR(0x2082) + N'O' 它正确地显示了“H2O” 当我把它放到现有的表中时 INSERT INTO tab (id, label) VALUES('100', N'H' + NCHAR(0x2082) + N'O') 它显示“H2O”不正确您需要在表中使用NVARCHAR/NCHAR列,而不是VARCHAR/CH

我想把一些化学数据放到表中的列中。但在现有的表中,下标显示为普通字符。其中一些以问号显示。我该怎么做才能修好它

当我键入此代码时

 SELECT N'H' + NCHAR(0x2082) + N'O'
它正确地显示了“H2O”

当我把它放到现有的表中时

 INSERT INTO tab (id, label)
 VALUES('100', N'H' + NCHAR(0x2082) + N'O')

它显示“H2O”不正确

您需要在表中使用
NVARCHAR
/
NCHAR
列,而不是
VARCHAR
/
CHAR
来存储unicode字符

在下面的示例中,
@table1
使用
NVARCHAR
数据类型正确存储公式,而
@table2
VARCHAR
列中存储相同的值

DECLARE @table1 TABLE
(
    ID int,
    formula NVARCHAR(5)
)
DECLARE @table2 TABLE
(
    ID int,
    formula VARCHAR(5)
)

insert into @table1
SELECT '100', N'H' + NCHAR(0x2082) + N'O'

insert into @table2
SELECT '100', N'H' + NCHAR(0x2082) + N'O'

SELECT * FROM @table1;
SELECT * FROM @table2;

您的
标签
列的数据类型是什么??您的问题是正确存储和显示unicode字符。