ここでは、SQL Server用にキリル文字をラテン文字に変換するソリューションです。
create function fn_Cyrillic2Latin (@string nvarchar(max))
returns nvarchar(max) as
begin
set @string = replace (@string, N'ый' ,N'y')
set @string = replace (@string, N'ЫЙ' ,N'Y')
set @string = replace (@string, N'а' ,N'a')
set @string = replace (@string, N'б' ,N'b')
set @string = replace (@string, N'в' ,N'v')
set @string = replace (@string, N'г' ,N'g')
set @string = replace (@string, N'д' ,N'd')
set @string = replace (@string, N'е' ,N'e')
set @string = replace (@string, N'ё' ,N'yo')
set @string = replace (@string, N'ж' ,N'zh')
set @string = replace (@string, N'з' ,N'z')
set @string = replace (@string, N'и' ,N'i')
set @string = replace (@string, N'й' ,N'y')
set @string = replace (@string, N'к' ,N'k')
set @string = replace (@string, N'л' ,N'l')
set @string = replace (@string, N'м' ,N'm')
set @string = replace (@string, N'н' ,N'n')
set @string = replace (@string, N'о' ,N'o')
set @string = replace (@string, N'п' ,N'p')
set @string = replace (@string, N'р' ,N'r')
set @string = replace (@string, N'с' ,N's')
set @string = replace (@string, N'т' ,N't')
set @string = replace (@string, N'у' ,N'u')
set @string = replace (@string, N'ф' ,N'f')
set @string = replace (@string, N'х' ,N'kh')
set @string = replace (@string, N'ц' ,N'c')
set @string = replace (@string, N'ч' ,N'ch')
set @string = replace (@string, N'ш' ,N'sh')
set @string = replace (@string, N'щ' ,N'shch')
set @string = replace (@string, N'ъ' ,N' ')
set @string = replace (@string, N'ы' ,N'y')
set @string = replace (@string, N'ь' ,N'')
set @string = replace (@string, N'э' ,N'e')
set @string = replace (@string, N'ю' ,N'yu')
set @string = replace (@string, N'я' ,N'ya')
set @string = replace (@string, N'А' ,N'A')
set @string = replace (@string, N'Б' ,N'B')
set @string = replace (@string, N'В' ,N'V')
set @string = replace (@string, N'Г' ,N'G')
set @string = replace (@string, N'Д' ,N'D')
set @string = replace (@string, N'Е' ,N'E')
set @string = replace (@string, N'Ё' ,N'YO')
set @string = replace (@string, N'Ж' ,N'ZH')
set @string = replace (@string, N'З' ,N'Z')
set @string = replace (@string, N'И' ,N'I')
set @string = replace (@string, N'Й' ,N'Y')
set @string = replace (@string, N'К' ,N'K')
set @string = replace (@string, N'Л' ,N'L')
set @string = replace (@string, N'М' ,N'M')
set @string = replace (@string, N'Н' ,N'N')
set @string = replace (@string, N'О' ,N'O')
set @string = replace (@string, N'П' ,N'P')
set @string = replace (@string, N'Р' ,N'R')
set @string = replace (@string, N'С' ,N'S')
set @string = replace (@string, N'Т' ,N'T')
set @string = replace (@string, N'У' ,N'U')
set @string = replace (@string, N'Ф' ,N'F')
set @string = replace (@string, N'Х' ,N'KH')
set @string = replace (@string, N'Ц' ,N'C')
set @string = replace (@string, N'Ч' ,N'CH')
set @string = replace (@string, N'Ш' ,N'SH')
set @string = replace (@string, N'Щ' ,N'SHCH')
set @string = replace (@string, N'Ъ' ,N'')
set @string = replace (@string, N'Ы' ,N'Y')
set @string = replace (@string, N'Ь' ,N'')
set @string = replace (@string, N'Э' ,N'E')
set @string = replace (@string, N'Ю' ,N'YU')
set @string = replace (@string, N'Я' ,N'YA')
return @String
end
どのデータベースを使用していますか(MySQL、SQL Serverなど)? –
私はそれを使用しています。MySQL – Radoslav
'WHERE'節の文字列は、両方のアルファベットにすでに存在していませんか?ここでの長期的な解決策は、すべてのデータをカバーする照合を選択することです。 –