Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Автоинкрементное поле, когда доходит до верхнего предела, начинает отсчёт заново?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
Игорь_UUS
Господа... есть ещё идея, есть автоинкремент по полю INT, размер 4 байта. В моём случае уникальность будет гарантировать младшие 2 байта.

Вопрос, можно ли средствами TSQL из INT 4 байт вычленить 2 младших байта и получить из этих 2 байт число?

а о чём вам iap пишет?
3 апр 18, 16:00    [21308968]     Ответить | Цитировать Сообщить модератору
 Re: Автоинкрементное поле, когда доходит до верхнего предела, начинает отсчёт заново?  [new]
Игорь_UUS
Member

Откуда: г. Екатеринбург
Сообщений: 680
TaPaK
Игорь_UUS
Господа... есть ещё идея, есть автоинкремент по полю INT, размер 4 байта. В моём случае уникальность будет гарантировать младшие 2 байта.

Вопрос, можно ли средствами TSQL из INT 4 байт вычленить 2 младших байта и получить из этих 2 байт число?

а о чём вам iap пишет?



не могу понять ту идею...

есть у меня поле INT, например там 20млн. записей, как мне запросом из каждого идентификатора вычленить 2 младших байта и перевести их в число?

т.е.
SELECT [ID] /*, как из ID 4 байт вычленить 2 младших байта и перевести в число? */ FROM [MyTable]
3 апр 18, 16:09    [21309035]     Ответить | Цитировать Сообщить модератору
 Re: Автоинкрементное поле, когда доходит до верхнего предела, начинает отсчёт заново?  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
Игорь_UUS,

SELECT ID & 0xFFFF
3 апр 18, 16:20    [21309076]     Ответить | Цитировать Сообщить модератору
 Re: Автоинкрементное поле, когда доходит до верхнего предела, начинает отсчёт заново?  [new]
Игорь_UUS
Member

Откуда: г. Екатеринбург
Сообщений: 680
TaPaK
Игорь_UUS,

SELECT ID & 0xFFFF


Спасибо, то что надо... попробую пойти в таком напровлении
3 апр 18, 17:33    [21309339]     Ответить | Цитировать Сообщить модератору
 Re: Автоинкрементное поле, когда доходит до верхнего предела, начинает отсчёт заново?  [new]
iap
Member

Откуда: Москва
Сообщений: 47107
Игорь_UUS
не могу понять ту идею...
Вы не знаете что такое остаток от целочисленного деления?
Но это очень странно, не находите?
3 апр 18, 18:40    [21309521]     Ответить | Цитировать Сообщить модератору
 Re: Автоинкрементное поле, когда доходит до верхнего предела, начинает отсчёт заново?  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8865
Один момент господа!, ТС (топикстартеру) нужен диапазон до 0 - 64535 а не 0 - 65535 ... Так что маска по 0FFFFx не прокатит (разве что 0FC17h ;-) ...

И, кстати, не понятно, что будет делаться со строками у которых (возможно!) айдишнег будет лежать в пределах 64535 - 65535 ....

Ну а так - да...
4 апр 18, 01:51    [21310192]     Ответить | Цитировать Сообщить модератору
 Re: Автоинкрементное поле, когда доходит до верхнего предела, начинает отсчёт заново?  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8865
SIMPLicity_
Один момент господа!, ТС (топикстартеру) нужен диапазон до 0 - 64535 а не 0 - 65535 ... Так что маска по 0FFFFx не прокатит (разве что 0FC17h ;-) ...

И, кстати, не понятно, что будет делаться со строками у которых (возможно!) айдишнег будет лежать в пределах 64535 - 65535 ....

Ну а так - да...


И это... там надо было с 1 - ы , но сброс идёт на 0.... Вощем момент инкремента - видимо "до" ... Как в C конструкция ++i , кажется?
4 апр 18, 01:54    [21310193]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Microsoft SQL Server Ответить