2016-05-31 48 views
2

我有一个列名为Last Name的表。我想更改列中的一部分字符串。SQL用字母c代替č,ć,ž,

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

不起作用。

如果我把这个

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

是工作。

如何改变č,ć,ž与另一个lettter。

+1

您正在使用的数据库? –

+0

我使用微软sql – pape

+0

在我的机器上工作。 –

回答

3

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

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

是,就是这样......谢谢 – pape

0

尝试使用Collation为:

COLLATE SQL_Latin1_General_Cp1251_CS_AS 

所以它会像

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

在哪里可以选择? – pape

+0

@pape: - 更新我的答案。请检查。 –

+0

不起作用:( – pape

0

使用N”在包含这样的字符串字符串的开头,

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

使列类型为nvarchar,而不是VARCHAR或NCHAR对于char

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

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