【问题标题】:Replace accent with upper and lowercase用大写和小写替换重音
【发布时间】:2016-01-05 18:24:50
【问题描述】:

有一个带有重音字母的客户表,我需要用相同的没有重音字母的字母替换它们,我可以使用 REPLACE 功能,但我的问题是我有一些大写的客户和一些小写的客户,并且我需要保持大写和小写

【问题讨论】:

  • 您使用什么语言? SQL?
  • 是的,很抱歉忘记了...
  • 然后相应地标记您的问题(edit)。
  • 如果您需要大写,请将它们替换为大写等效项。对小写字母执行相同操作。

标签: sql sql-server replace


【解决方案1】:

按照 cmets 中的建议,您可以使用 REPLACE() 函数实现您的预​​期结果。

如果您需要保留大写和小写字母,则为这两种情况编写显式替换函数AND将排序规则更改为区分大小写的排序规则:Latin1_General_CS_AS

Here is the related post on using this collation for case sensitive search. 并引用它:

添加 COLLATE Latin1_General_CS_AS 会使搜索区分大小写。

使用来自 cmets 的示例字符,在下面的输入中似乎可以正常工作。

查询

SELECT REPLACE(REPLACE(REPLACE(REPLACE('áÁéÃ' COLLATE Latin1_General_CS_AS, 'á','a'),'Á','A'),'é','e'),'Ã','A')

输入:áÁéÃ

输出:aAeA

检查 SQL Fiddle 以查看示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    • 2014-01-11
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 2011-07-21
    • 2013-04-29
    相关资源
    最近更新 更多