Skip to content

Instantly share code, notes, and snippets.

@grishin
Created January 30, 2014 11:43
Show Gist options
  • Select an option

  • Save grishin/8706886 to your computer and use it in GitHub Desktop.

Select an option

Save grishin/8706886 to your computer and use it in GitHub Desktop.
How to convert russian string to english translit
--Взято отсюда http://www.sql.ru/forum/546853-2/est-li-u-kogo-gotovaya-funkciya-perevoda-translit-s-ruskogo-na-angliyskiy с небольшой корректировкой
ALTER FUNCTION [dbo].[fn_cc2ToTranslit] (@name NVARCHAR(MAX))
RETURNS NVARCHAR(MAX)
BEGIN
DECLARE @TransTable TABLE(
Rus Char PRIMARY KEY
,Lat VarChar(2)
)INSERT @TransTable SELECT 'А','A'
UNION ALL SELECT 'Б','B'
UNION ALL SELECT 'В','V'
UNION ALL SELECT 'Г','G'
UNION ALL SELECT 'Д','D'
UNION ALL SELECT 'Е','E'
UNION ALL SELECT 'Ё','Yo'
UNION ALL SELECT 'Ж','Zh'
UNION ALL SELECT 'З','Z'
UNION ALL SELECT 'И','I'
UNION ALL SELECT 'Й','Y'
UNION ALL SELECT 'К','K'
UNION ALL SELECT 'Л','L'
UNION ALL SELECT 'М','M'
UNION ALL SELECT 'Н','N'
UNION ALL SELECT 'О','O'
UNION ALL SELECT 'П','P'
UNION ALL SELECT 'Р','R'
UNION ALL SELECT 'С','S'
UNION ALL SELECT 'Т','T'
UNION ALL SELECT 'У','U'
UNION ALL SELECT 'Ф','F'
UNION ALL SELECT 'Х','H'
UNION ALL SELECT 'Ц','C'
UNION ALL SELECT 'Ч','Ch'
UNION ALL SELECT 'Ш','Sh'
UNION ALL SELECT 'Щ','Sh'
UNION ALL SELECT 'Ъ',''
UNION ALL SELECT 'Ы','Y'
UNION ALL SELECT 'Ь',''
UNION ALL SELECT 'Э','E'
UNION ALL SELECT 'Ю','Yu'
UNION ALL SELECT 'Я','Ya'
DECLARE @Result VarChar(max)
SET @Result = @name
SELECT @Result = Replace(@Result,Upper(Rus) COLLATE Cyrillic_General_CS_AS,Lat) FROM @TransTable WHERE @name LIKE '%' + Rus + '%'
SELECT @Result = Replace(@Result,Lower(Rus) COLLATE Cyrillic_General_CI_AS,LOWER(Lat)) FROM @TransTable WHERE @name LIKE '%' + Rus + '%'
RETURN @Result
END
@alexfedorin
Copy link

alexfedorin commented Apr 14, 2018

Здравствуйте!
Подскажите пожалуйста, как применять данную функцию для одного столбца?
Я совсем новичок, но сейчас вот появилась такая задача.
Мне нужно дублировать значения ячейки столбца в другой столбец чтобы на выходе иметь столбец с тайтлами на латинице и столбец на кириллице...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment