подгонка поля GUID к меньшему полю без потери уникальности - PullRequest
3 голосов
/ 11 апреля 2011

Мне нужно отправить поле GUID PK (длина = 36) в нисходящую систему, которая будет принимать только 20 символов. Недопустимо увеличивать длину поля в нисходящей системе. Если я усекаю поле, я теряю его уникальность.

Есть ли способ вставить GUID длиной 36 символов в поле varchar (20) без потери уникальности?

спасибо Кэти

Ответы [ 2 ]

2 голосов
/ 12 апреля 2011

Поскольку Varchar (20) имеет размер 20 байт, а GUID равен 16, вы можете просто уместить его с помощью ASCII85 -кодирования двоичного GUID.

0 голосов
/ 12 апреля 2011

Если вы используете MSFT, эта статья может вам помочь.:)

http://www.codinghorror.com/blog/2005/10/c-implementation-of-ascii85.html

...