我试图从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
但是上面仍然会产生:
ö
有谁知道我做错了什么或如何提取这个角色?非常感谢您的帮助。
由于
答案 0 :(得分:2)
如果您将列从char
或varchar
更改为nvarchar
,则应解决此问题。
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