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

Откуда:
Сообщений: 239
Ничего не понимаю.. В документации написано, что есть неявное преобразование между типами.
Выполняю:
declare @t varbinary(8)
set @t = 0x000000000017F262
select @t, cast(@t as varchar)

Получаю:
t1 t2
------------------ ------------------------------
0x000000000017F262 тb

Как получить строку аналогичного содержания, как в случае вывода varbinary? Т.е. вида '0x000000000017F262'
Нужно для использования в динамическом запросе. В моем случае sp_executesql использовать не получается
9 июл 09, 10:06    [7394671]     Ответить | Цитировать Сообщить модератору
 Re: как преобразовать varbinary в varchar?  [new]
Нектотам
Guest
pacha,

select master.dbo.fn_varbintohexstr (0x00101013)
9 июл 09, 11:23    [7395240]     Ответить | Цитировать Сообщить модератору
 Re: как преобразовать varbinary в varchar?  [new]
Roman S. Golubin
Member

Откуда: 140002
Сообщений: 11541
declare @t varbinary(8)
set @t = 0x000000000017F262
select @t, convert(varchar, @t, 1)
9 июл 09, 11:41    [7395415]     Ответить | Цитировать Сообщить модератору
 Re: как преобразовать varbinary в varchar?  [new]
pacha
Member

Откуда:
Сообщений: 239
Нектотам
pacha,

select master.dbo.fn_varbintohexstr (0x00101013)

Спасибо большое! Работает!
9 июл 09, 12:15    [7395678]     Ответить | Цитировать Сообщить модератору
 Re: как преобразовать varbinary в varchar?  [new]
pacha
Member

Откуда:
Сообщений: 239
Roman S. Golubin
declare @t varbinary(8)
set @t = 0x000000000017F262
select @t, convert(varchar, @t, 1)

Что то у меня результат тот же, что и в первом посте:)
Тестировал на
Microsoft SQL Server 2005 - 9.00.3282.00 (X64) Aug 5 2008 00:48:00 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)

и на
Microsoft SQL Server 2000 - 8.00.2055 (Intel X86) Dec 16 2008 19:46:53 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
9 июл 09, 12:17    [7395690]     Ответить | Цитировать Сообщить модератору
 Re: как преобразовать varbinary в varchar?  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
на 2008 -корректно
-------------------------------------
Jedem Das Seine
9 июл 09, 12:20    [7395706]     Ответить | Цитировать Сообщить модератору
 Re: как преобразовать varbinary в varchar?  [new]
Roman S. Golubin
Member

Откуда: 140002
Сообщений: 11541
Maxx,

в 2005-м этого еще не было. А автор про версию сразу не сказал.
9 июл 09, 12:24    [7395745]     Ответить | Цитировать Сообщить модератору
 Re: как преобразовать varbinary в varchar?  [new]
pacha
Member

Откуда:
Сообщений: 239
Roman S. Golubin
Maxx,

в 2005-м этого еще не было. А автор про версию сразу не сказал.

Спасибо, Roman S. Golubin, при переходе на 2008 избавлюсь от недокументированной функции master.dbo.fn_varbintohexstr :)
9 июл 09, 12:39    [7395857]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить