SQL 将 č、ć、ž 替换为字母 c、z

SQL replace č, ć, ž with letter c, z

提问人:pape 提问时间:5/31/2016 最后编辑:Vikash Pandeypape 更新时间:5/31/2016 访问量:2524

问:

我有一个带有姓氏列的表。我想更改列中的一部分字符串。

select REPLACE([Last Name],'Ć','s')  FROM myTable1

不行。

如果我把这个

select REPLACE([Last Name],'o','s')  FROM myTable1

这是工作。

如何用另一个 lettter 更改 č,ć,ž。

SQL Server 数据库 替换 特殊字符

评论

1赞 Rahul Tripathi 5/31/2016
您正在使用哪个数据库?
0赞 pape 5/31/2016
我使用microsoft sql
0赞 Felix Pamittan 5/31/2016
在我的机器上工作。

答:

0赞 Rahul Tripathi 5/31/2016 #1

尝试将排序规则用作:

COLLATE  SQL_Latin1_General_Cp1251_CS_AS

所以它会像

select REPLACE([Last Name],'Ć','s')  FROM myTable1
COLLATE  SQL_Latin1_General_Cp1251_CS_AS

评论

0赞 pape 5/31/2016
在哪里放选择?
0赞 Rahul Tripathi 5/31/2016
@pape:- 更新我的答案。请检查。
0赞 Rahul Tripathi 5/31/2016
@pape:- 此查询在您的系统上的输出是什么? 和这个查询select serverproperty('collation')SELECT DATABASEPROPERTYEX('yourdatabaseName', 'Collation') SQLCollation;
0赞 pape 5/31/2016
Cyrillic_General_CI_AS,但如果我把整理Cyrillic_General_CI_AS就不起作用了
0赞 pape 5/31/2016
如何在列中更改
0赞 Mahesh Bhosale 5/31/2016 #2

在包含此类字符串的字符串的开头使用 N',

例如:SELECT 'Ā ā Ă ă Ą ą', N'Ā ā Ă ă Ą ą'

使列键入 nvarchar 而不是 varchar 或 nchar 表示 char

对于忽略重音,请使用 COLLATE 子句。 例如:

SELECT REPLACE([Last Name],'Ć','s') FROM myTable1 COLLATE Latin1_General_CI_AI

5赞 Ragesh 5/31/2016 #3

下面的查询可能会给出所需的输出:-

select REPLACE([Last Name] COLLATE Cyrillic_General_CI_AI,'Ć','s')  FROM myTable1