Сохранить 64-битное целое число в базе данных Jet Engine (Access)? - PullRequest
1 голос
/ 20 августа 2011

Как было бы лучшим / наиболее эффективным / менее потребляющим память способом хранить 64-битное целое число в базе данных Jet Engine? Я почти уверен, что их целые числа - 32 бита.

1 Ответ

2 голосов
/ 20 августа 2011

Самое большое целое число, которое поддерживает MSAccess, - это тип NUMBER (FieldSize = LONG INTEGER) но это не 64 бита.

http://msdn.microsoft.com/en-us/library/ms714540(v=vs.85).aspx

Для хранения чисел размером до 64 бит вам нужно будет использовать тип DOUBLE или DECIMAL, но у вас не будет «целочисленной точности» с DOUBLE, а накладные расходы с DECIMAL

В качестве альтернативы вы можете использовать тип CURRENCY и игнорировать десятичные дроби. http://www.w3schools.com/sql/sql_datatypes.asp

Подробнее о нюансах всех типов данных вы можете посмотреть здесь: http://office.microsoft.com/en-us/access-help/introduction-to-data-types-and-field-properties-HA010233292.aspx

РЕДАКТИРОВАТЬ: Хотя у вас будет ограниченное количество значащих цифр в DOUBLE, как указано @ ho1 в комментариях ниже. Вы можете заставить CURRENCY работать, выводя цифры в коде, если вы нажимаете на место на диске, но ваш лучший выбор, вероятно, DECIMAL

...