我试图在我的SQL数据库中将一个String存储在nvarchar列中,该列包含字符无穷大'∞'而我得到的是8&8;' 8'存储。 有什么想法吗?我应该怎么做呢?
string = ' <ss:Table ss:ExpandedColumnCount="3" ss:ExpandedRowCount="9"
ss:DefaultColumnWidth="48.0" ss:DefaultRowHeight="12.75">
<ss:Row ss:Index="3">
<ss:Cell ss:Index="2">
<ss:Data ss:Type="String">∞</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">∞</ss:Data>
</ss:Cell>'
答案 0 :(得分:3)
使用N
(即N'String....'
)为您的字符串添加前缀,以明确告诉sql server您将发送一些unicode
数据并且它应该可以正常工作。
Declare @t table (col nvarchar(4000))
Insert into @t
Values ( N' <ss:Table ss:ExpandedColumnCount="3" ss:ExpandedRowCount="9"
ss:DefaultColumnWidth="48.0" ss:DefaultRowHeight="12.75">
<ss:Row ss:Index="3">
<ss:Cell ss:Index="2">
<ss:Data ss:Type="String">∞</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">∞</ss:Data>
</ss:Cell>')
Select * from @t
答案 1 :(得分:0)
以下SQL对我有用:
DECLARE @string NVARCHAR(MAX) = N'<ss:Table ss:ExpandedColumnCount="3" ss:ExpandedRowCount="9"
ss:DefaultColumnWidth="48.0" ss:DefaultRowHeight="12.75">
<ss:Row ss:Index="3">
<ss:Cell ss:Index="2">
<ss:Data ss:Type="String">∞</ss:Data>
</ss:Cell>
<ss:Cell>
<ss:Data ss:Type="String">∞</ss:Data>
</ss:Cell>'
PRINT @string