Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用SQL将非英语文本转换为英语文本_C#_Sql_Sql Function - Fatal编程技术网

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

C# 使用SQL将非英语文本转换为英语文本,c#,sql,sql-function,C#,Sql,Sql Function,我有文本规范化方法,我使用它将非英语字母转换为英语字母 我需要使用SQL server执行相同的功能 C#方法: private string normalizeString(string inputWord) { StringBuilder stringBuilder = new StringBuilder(); foreach (char c in inputWord.Trim().ToCharArray())

我有文本规范化方法,我使用它将非英语字母转换为英语字母

我需要使用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
因此,SQL Server中没有此类本机函数。
你能做的就是为它创建一个新的符号。

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

例如:

选择“áèíóú”将SQL_Latin1_General_Cp1251_CS_作为

这将返回“aeiou”


你能再澄清一下你的问题吗?字母“A”和“A”在Unicode中称为拉丁字母,而不是英文字母。它们以多种语言存在(例如西班牙语、意大利语),而不仅仅是英语。你想去掉所有的变音符号吗?或者只是某些变音符号?或者只是拉丁字母上的变音符号?或仅出现在拉丁字母表?中的字母?。因为西里尔字母也可以有变音符号!你想要的手术有多复杂?Unicode很难。是的,我想去掉所有的变音符号。