Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Pallich Member Откуда: Сообщений: 39 |
Добрый день. Есть громадная таблица. Она должна быть выгружена в стороннюю программу в которой будет потом происходить связь с другой таблицей по ключевому полю. Таким ключевым полем является поле с типом 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) |
19 авг 19, 19:18 [21952809] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37155 |
Удивительно, как это 16 байт не влезает в 8 без потери точности... |
19 авг 19, 19:32 [21952826] Ответить | Цитировать Сообщить модератору |
a_voronin Member Откуда: Москва Сообщений: 4805 |
Pallich, Bigint это 8 байт. А binary(16) это 16 байт. 16 байт может влезть в guid / uniqueidentifier. |
19 авг 19, 19:33 [21952827] Ответить | Цитировать Сообщить модератору |
msLex Member Откуда: Сообщений: 8730 |
а еще, вы не поверите, в binary(16). Зачем эти костыли с uniqueidentifier? |
||
19 авг 19, 19:40 [21952834] Ответить | Цитировать Сообщить модератору |
Pallich Member Откуда: Сообщений: 39 |
Я понимаю, что 16 байт не влазит в 8 :) Я спрашиваю как быть? Нет варианта в цифру переделать? То есть придется оставлять это ключевое поле без конвертации и в сторонней программе соединять все же по этому полю как текстовому? Верно? |
19 авг 19, 20:36 [21952886] Ответить | Цитировать Сообщить модератору |
Mind Member Откуда: Лучший город на Земле Сообщений: 2322 |
Pallich, С каких пор binary стало текстом? |
19 авг 19, 22:14 [21952949] Ответить | Цитировать Сообщить модератору |
Pallich Member Откуда: Сообщений: 39 |
Mind, В сторонней программе это поле станет текстом :( |
19 авг 19, 22:15 [21952950] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37155 |
Pallich, Обратитесь к документации вашей программы. |
19 авг 19, 22:38 [21952961] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8350 |
https://www.sql.ru/forum/946587/iz-binary-v-varchar |
20 авг 19, 00:16 [21952992] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |