Pracuję z aplikacją, która używa raczej dużych liczb i muszę przechowywać dane jako niepodpisaną 64-bitową liczbę całkowitą. Wolę go przechowywać bez obawy o manipulację bitową lub coś podobnego, aby różne programy mogły korzystać z danych na różne sposoby.Jak przechowywać niepodpisane 64-bitowe liczby całkowite w SQL Server?
7
A
Odpowiedz
2
AFAIK, należałoby utworzyć niestandardowy typ. Wskaźniki here mimo że artykuł jest bardziej do ograniczania liczby ujemne ...
5
można przechowywać wartość w rodzaju NUMERIC
z scale
0, który zachowa integer
semantykę wymagany. Typ NUMERIC
zezwala na liczby ujemne, chociaż można ustawić ograniczenie, aby wymagało dodatnich liczb całkowitych.
Maksymalna liczba precision
dla NUMERIC
to 38 cyfr dziesiętnych. 2**64
to około 18 lub 19 cyfr dziesiętnych, więc NUMERIC(19,0)
najprawdopodobniej będzie działało dobrze dla tych danych.
Czy nie ma 2 do potęgi 64 '18, 446,744,073,709,551,616 '- lub 20 cyfr? Jeśli tak, czy to oznacza, że potrzebujesz NUMERIC (20,0), aby go zapisać? –