Как хранить 64-разрядные целые числа без знака в SQL Server? - PullRequest
7 голосов
/ 05 декабря 2008

Я работаю с приложением, которое использует довольно большие числа, и мне нужно хранить данные как 64-разрядное целое число без знака. Я предпочитаю просто хранить его, не беспокоясь о битовых манипуляциях или чем-то подобном, чтобы разные программы могли использовать данные по-разному.

Ответы [ 2 ]

5 голосов
/ 05 декабря 2008

Вы можете сохранить значение в типе NUMERIC с scale, равным 0, что сохранит требуемую семантику integer. Тип NUMERIC допускает отрицательные числа, хотя вы можете установить ограничение, чтобы требовать положительные целые числа.

Максимальное значение precision для NUMERIC составляет 38 десятичных цифр. 2**64 где-то около 18 или 19 десятичных цифр, поэтому NUMERIC(19,0), скорее всего, будет отлично работать для этих данных.

2 голосов
/ 05 декабря 2008

AFAIK, вам бы пришлось создать пользовательский тип. Указатели здесь хотя эта статья больше предназначена для ограничения отрицательных чисел ...

...