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

Откуда: Волгоград
Сообщений: 194
Добрый день уважаемые
Подскажите пожадуйста как перевести строковую константу в шестнадцатиричном представлении в число, например 'ED9E1C54'. Прсветите пожалуйста
21 фев 07, 09:09    [3813720]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки 'ED9E1C54' в число  [new]
RENaissance
Member

Откуда: Муром->Москва
Сообщений: 10895
???
declare @val varchar(20)
set @val = 'ED9E1C54'

exec ('select convert(bigint, ' + '0x' + @val + ')')

Posted via ActualForum NNTP Server 1.4

21 фев 07, 09:26    [3813778]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки 'ED9E1C54' в число  [new]
Shubnikov
Member

Откуда: Волгоград
Сообщений: 194
В QA такое конечно проходит, а как это в функцию обернуть ?
21 фев 07, 09:44    [3813894]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки 'ED9E1C54' в число  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32242
Shubnikov
В QA такое конечно проходит, а как это в функцию обернуть ?
declare @val varchar(100)
set @val = 'ED9E1C54'
select convert(bigint, right(convert(varbinary(16), convert(uniqueidentifier, '00000000-0000-0000-0000-0000' + @val)), 8))
21 фев 07, 10:27    [3814150]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки 'ED9E1C54' в число  [new]
Shubnikov
Member

Откуда: Волгоград
Сообщений: 194
Вот результат этого, на это я уже налетел
Server: Msg 8114, Level 16, State 5, Line 3
Error converting data type varchar to bigint.
21 фев 07, 10:39    [3814262]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки 'ED9E1C54' в число  [new]
Shubnikov
Member

Откуда: Волгоград
Сообщений: 194
вот так прокатило
declare @val varchar(100)
set @val = 'ED9E1C54'
select convert(bigint,convert(varbinary(16), convert(uniqueidentifier, '00000000-0000-0000-0000-0000' + @val)))
21 фев 07, 10:43    [3814304]     Ответить | Цитировать Сообщить модератору
 Re: Перевод строки 'ED9E1C54' в число  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32242
Shubnikov
Вот результат этого, на это я уже налетел
Server: Msg 8114, Level 16, State 5, Line 3
Error converting data type varchar to bigint.
Да, это я не тот запрос выложил, нужно было:
declare @val varchar(100)
set @val = 'ED9E1C54'
select convert(bigint, convert(varbinary(8), right(convert(varbinary(16), convert(uniqueidentifier, '00000000-0000-0000-0000-0000' + @val)), 8)))
21 фев 07, 10:52    [3814383]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить