Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Конвертирование в число / 9 сообщений из 9, страница 1 из 1
19.08.2019, 19:18
    #39851288
Pallich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертирование в число
Добрый день.

Есть громадная таблица.
Она должна быть выгружена в стороннюю программу в которой будет потом происходить связь с другой таблицей по ключевому полю.
Таким ключевым полем является поле с типом binary(16).
Первоначально была идея конвертнуть это поле в bigint для того, что бы связь в сторонней программе была более быстрой (как я предполагал циферная связь быстрее работает чем текстовая а значит это лучше).
Но столкнулся с проблемой, что разные binary(16) могут конвертиться в одинаковое значение bigint.
Подскажите как быть?

Нет смысла вообще переводить в bigint и сторонней программе так и работать с исходным текстовым полем для связи,
или все же есть какой то хитрый способ как можно правильнее конвертировать binary(16) в bigint без задвоений?


Спасибо.








Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)
...
Рейтинг: 0 / 0
19.08.2019, 19:32
    #39851298
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертирование в число
Удивительно, как это 16 байт не влезает в 8 без потери точности...
...
Рейтинг: 0 / 0
19.08.2019, 19:33
    #39851299
a_voronin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертирование в число
Pallich,

Bigint это 8 байт. А binary(16) это 16 байт.

16 байт может влезть в guid / uniqueidentifier.
...
Рейтинг: 0 / 0
19.08.2019, 19:40
    #39851305
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертирование в число
a_voroninPallich,

Bigint это 8 байт. А binary(16) это 16 байт.

16 байт может влезть в guid / uniqueidentifier.

а еще, вы не поверите, в binary(16).
Зачем эти костыли с uniqueidentifier?
...
Рейтинг: 0 / 0
19.08.2019, 20:36
    #39851342
Pallich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертирование в число
Я понимаю, что 16 байт не влазит в 8 :)

Я спрашиваю как быть? Нет варианта в цифру переделать?
То есть придется оставлять это ключевое поле без конвертации и в сторонней программе соединять все же по этому полю как текстовому?
Верно?
...
Рейтинг: 0 / 0
19.08.2019, 22:14
    #39851371
Mind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертирование в число
Pallich,

С каких пор binary стало текстом?
...
Рейтинг: 0 / 0
19.08.2019, 22:15
    #39851372
Pallich
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертирование в число
Mind,
В сторонней программе это поле станет текстом :(
...
Рейтинг: 0 / 0
19.08.2019, 22:38
    #39851377
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертирование в число
Pallich,

Обратитесь к документации вашей программы.
...
Рейтинг: 0 / 0
20.08.2019, 00:16
    #39851382
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Конвертирование в число
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Конвертирование в число / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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