подгонка поля GUID к меньшему полю без потери уникальности

#guid

#guid

Вопрос:

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

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

спасибо, Кэти

Комментарии:

1. Какой язык программирования вы используете?

2. Получает ли система, находящаяся ниже по потоку, GUID из нескольких источников или только вы?

Ответ №1:

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

Комментарии:

1. Действительно ли GUID длиной в 36 символов занимают всего 16 байт?

2. Двоичный GUID действительно равен 16 байтам, это всего лишь шестнадцатеричное представление, состоящее из 36 символов.