powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопросец знатокам недокументированных фич
6 сообщений из 6, страница 1 из 1
Вопросец знатокам недокументированных фич
    #32064162
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая функция UNCOMPRESS(<binary value>)

Внимание, вопрос. Что она делает, и нет ли у неё антагониста - функции, производящей обратное действие?
COMPRESS не проходит, увы.
...
Рейтинг: 0 / 0
Вопросец знатокам недокументированных фич
    #32064177
Фотография Александр Степанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего не напоминает?
Код: plaintext
1.
2.
3.
4.
5.
6.
Select Uncompress(0x6162636465666768696A6B6C6D6E6F)

 ------------------
 
abcdefghijklmno

( 1  row(s) affected)
...
Рейтинг: 0 / 0
Вопросец знатокам недокументированных фич
    #32064219
Фотография ziktuw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не думаю, что так все просто. Скорее всего, данный результат из-за неповторяемости потока данных.
...
Рейтинг: 0 / 0
Вопросец знатокам недокументированных фич
    #32064220
Dwarf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select cast(cast(uncompress(0x6162636465666768696A6B6C6D6E6F) as varchar) as varbinary)
...
Рейтинг: 0 / 0
Вопросец знатокам недокументированных фич
    #32064227
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В основе uncompress этот код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
void __cdecl SimpleUncompress(unsigned char *,int,unsigned short *,int *)

legoSR!SimpleUncompress:
004855fc  55                push    ebp
004855fd 8bec             mov     ebp,esp
004855ff 8b450c           mov     eax,[ebp+0xc]
 00485602   56                push    esi
 00485603  8b7514           mov     esi,[ebp+0x14]
 00485606  8d1400           lea     edx,[eax+eax]
 00485609   3916              cmp     [esi],edx
0048560b 0f8ca91f1600     jl      legoSR!SimpleUncompress+0x11 (005e75ba)
 00485611   48                dec     eax
 00485612  85c0             test    eax,eax
 00485614  7c1a             jl   legoSR!SimpleUncompress+0x35 ( 00485630 ) [br= 0 ]
 00485616  8b4d10           mov     ecx,[ebp+0x10]
 00485619   57                push    edi
0048561a 8d0c41           lea     ecx,[ecx+eax* 2 ]
0048561d 8b7d08           mov     edi,[ebp+0x8]
 00485620  660fb63c38       movzx   di,byte ptr [eax+edi]
 00485625   668939            mov     [ecx],di
 00485628   48                dec     eax
 00485629   49                dec     ecx
0048562a  49                dec     ecx
0048562b 85c0             test    eax,eax
0048562d 7dee             jge     legoSR!SimpleUncompress+0x22 (0048561d)
0048562f 5f               pop     edi
 00485630   8916              mov     [esi],edx
 00485632  5e               pop     esi
 00485633  5d               pop     ebp
 00485634  c3               ret


Вроде ничего особенного....
...
Рейтинг: 0 / 0
Вопросец знатокам недокументированных фич
    #32064269
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
используется в syscoments...
в принципе преобразует ANSI в UNICODE .... но быстро.. ;)
без всяких collate и т.д.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопросец знатокам недокументированных фич
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]