Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Varbinary to HEX  [new]
stavelot
Member

Откуда:
Сообщений: 358
Как можно привести колонку типа Varbinary к HEXу?
12 июн 09, 18:23    [7294562]     Ответить | Цитировать Сообщить модератору
 Re: Varbinary to HEX  [new]
Crimean
Member

Откуда:
Сообщений: 13148
много вариантов. вот один из:

CREATE	FUNCTION	dbo.f1
(	@a	varbinary(4000)
)
RETURNS	varchar(8000)
AS
BEGIN
DECLARE	@Str		char(16)	,
	@i		int		,
	@b		int		,
	@Chr		char(2)		,
	@Ret		varchar(8000)

SET	@Str		= '0123456789ABCDEF'
SET	@i		= 1

WHILE	@i <= datalength( @a )	BEGIN

	SET	@b		= substring( @a, @i, 1 )
	SET	@Chr		= substring( @Str, 1 + (( @b & 0xF0 ) / 0x10), 1 ) + substring( @Str, 1 + (@b & 0x0F), 1 )
	IF	@i = 1
		SET	@Ret		= @Chr
	ELSE	SET	@Ret		= @Ret + @Chr
	SET	@i		= @i + 1
END

RETURN	@Ret
END
12 июн 09, 18:33    [7294574]     Ответить | Цитировать Сообщить модератору
 Re: Varbinary to HEX  [new]
stavelot
Member

Откуда:
Сообщений: 358
а что-нибудь по-короче, например как в оракле есть встроенная функция rawtohex
12 июн 09, 18:49    [7294600]     Ответить | Цитировать Сообщить модератору
 Re: Varbinary to HEX  [new]
Alexes
Member

Откуда:
Сообщений: 1100
stavelot,
Версия MS SQL какая?
15 июн 09, 11:25    [7299102]     Ответить | Цитировать Сообщить модератору
 Re: Varbinary to HEX  [new]
stavelot
Member

Откуда:
Сообщений: 358
MS SQL 2008
15 июн 09, 11:34    [7299172]     Ответить | Цитировать Сообщить модератору
 Re: Varbinary to HEX  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
stavelot
MS SQL 2008
declare @vb varbinary(50) = 15;

select convert(nvarchar, @vb, 1), @vb;
15 июн 09, 11:46    [7299236]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить