使用SQL将非英语文本转换为英语文本

时间:2015-07-13 07:38:15

标签: c# sql sql-function

我有文字规范化方法,我用它来将非英文字母转换成英文字母

我需要使用SQL Server

执行相同的功能

C#方法:

  private  string normalizeString(string inputWord)
        {
            StringBuilder stringBuilder = new StringBuilder();
            foreach (char c in inputWord.Trim().ToCharArray())
            {
                string normalizedChar = c.ToString()
                    .Normalize(NormalizationForm.FormD).Substring(0, 1);

                stringBuilder.Append(normalizedChar);
            }

            return stringBuilder.ToString();
        }

示例

Ä => A
ä => a
Ö => O
ö => o
Õ => O
õ => o
Ü => U
ü => u

2 个答案:

答案 0 :(得分:1)

根据这个Question,SQL Server中没有这样的本机功能。 您可以做的是为此创建CLR Function

答案 1 :(得分:1)

如果您想删除变音符号,可以使用Collate

例如:

  

选择'áéíóú'整理SQL_Latin1_General_Cp1251_CS_AS

这将返回“aeiou”

Source