Вернуть строку в DOS-кодировке
01.01.2007
-- Возвращает строку в DOS кодировке -- dbo.WIN_DOS_STRING(expression) -- expression - строка в WIN кодировке CREATE FUNCTION dbo.WIN_DOS_STRING ( @ws VARCHAR(8000) -- строка ) RETURNS VARCHAR(8000) AS BEGIN DECLARE @ss int, -- счетчик @ds varchar(8000), -- DOS строка @ls int, -- длина обр. строки @os int -- код 1-го обраб-го символа SET @ds='' SET @ls=LEN(@ws) SET @ss=0 WHILE @ss<@ls BEGIN SET @os=ASCII(SUBSTRING(@ws,1,1)) SET @ds=@ds+CASE WHEN @os>=192 AND @os<=239 THEN CHAR(@os-64)-- 128.180 WHEN @os>=240 AND @os<=256 THEN CHAR(@os-16)-- 224.239 WHEN @os=168 THEN CHAR(240) --Ё WHEN @os=184 THEN CHAR(241) --ё ELSE CHAR(@os) END SET @ss=@ss+1 SET @ws=SUBSTRING(@ws,2,LEN(@ws)-1) END RETURN @ds END
Взято с Vingrad.ru https://forum.vingrad.ru