更改桌子上的错误法语字符

时间:2019-01-25 15:22:03

标签: sql-server

由于某种原因,我们在数据库中发现了以下字符: 我可以假设此字符代表该字符:é

现在,我需要修改整个表格,但要检查所有其他字符以确保没有其他字符。

在哪里可以找到例如Ã和é之间的字符关系?或可能找到已经完成的SQL函数以进行替换。

我正在使用SQL Server 2014

1 个答案:

答案 0 :(得分:0)

如Daniel E所提到的,您的脏数据可能是由于使用了不正确的代码页(UTF-8被解释为ISO 8859-1)引起的。

查找包含脏数据的条目的一种方法是,使用类似表达式的“不存在”(“ ^”)以及该表达式中的有效字符列表。参见下面的示例。

declare @t table (name varchar(20))
insert into @t values ('touché')
insert into @t values ('encore touché')
insert into @t values ('reçu')
insert into @t values ('hello world')

select * from @t where name like '%[^a-zA-Z., -]%'

select * from @t where name like '%[^a-zA-Z.,èêé -]%' COLLATE Latin1_General_BIN