Транслитерация строки в SQL

Данная функция позволит выполнить транслитерацию строки, т.е. из строки с кириллицей получить латиницу. 

Функция:

CREATE OR ALTER function [dbo].[str_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

Вызов функции: 

select [dbo].[str_cyrillic2Latin]('Привет')
Насколько полезной была статья?

Что еще посмотреть по SQL Server

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
Сайт использует Cookie. Правила конфиденциальности OK