2

我正在尝试从 sql server 2008 db 中提取以下字符作为 unicode

字符应该是变音符号

这是表中的架构信息

character_set_name    collation_name

iso_1                 SQL_Latin1_General_CP1_CI_AS

这是我的选择声明

select 
    StudentName

from GenData.dbo.StudentInfo 
where StudentID = 105
order by studentname COLLATE SQL_Latin1_General_Pref_CP850_CI_AS

然而,上面仍然产生:

ö

有谁知道我做错了什么或如何提取这个角色?您的帮助将不胜感激。

谢谢

4

1 回答 1

2

如果您将列从char或更改varcharnvarchar它应该可以解决未来的问题。

ALTER TABLE MyTable ALTER COLUMN MyField nvarchar(1234)

请注意在 sql 查询中使用 nvarchar。

  'this is varchar'
  N'but this is nvarchar'

就恢复已经倾斜的信息而言,根据我的经验,这通常是一个艰难的反复试验过程。您可以尝试在 varchar 字段中输入字符并使用该信息来清理您的数据。

INSERT INTO #transpose
SELECT '' low, N'Ü' high
UPDATE #transpose SET low = high

Update MyTable 
SET MyFIELD = REPLACE(MyField, low, high) 
FROM MyTable 
CROSS JOIN #transpose
于 2012-11-14T23:05:09.590 回答