Какой тип данных следует использовать для хранения чисел с ведущими нулями?

Если вы решили пойти по пути виртуализации, рассмотрите также VirtualBox .

Кроме того, если вам нужны только UNIX-подобные инструменты командной строки, есть проект MacPorts . Вот как я настроил git на своем Mac: после установки MacPorts вам просто нужно запустить команду sudo port install git, чтобы установить git в вашей системе.

5
задан HansUp 21 June 2012 в 17:58
поделиться

5 ответов

Используйте строку (или текст, или varchar, или любой другой вариант строки, используемый вашей конкретной СУБД) и дополните ее любым нужным символом («0»), который вам нужен.

13
ответ дан 18 December 2019 в 07:30
поделиться

Если ваши настоящие данные выглядят как ваши примеры и содержат фиксированное количество цифр, просто сохраните данные в числовом поле и используйте атрибуты формата / маски ввода столбца в дизайне таблицы Access, отобразите их с заполненными нулями.

Если у вас нет переменного числа начальных нулей, нет причин хранить их, и обычно это плохая идея. необоснованное использование текстового типа может снизить производительность, упростить введение аномальных данных и затруднить запрос к базе данных.

3
ответ дан 18 December 2019 в 07:30
поделиться

Fixed width character with Unicode compression with a CHECK constraint to ensure exactly six numeric characters e.g. ANSI-92 Query Mode syntax:

CREATE TABLE IDs 
(
 ID CHAR(6) WITH COMPRESSION NOT NULL
    CONSTRAINT uq__IDs UNIQUE, 
 CONSTRAINT ID__must_be_ten_numeric_chars
    CHECK (ID ALIKE '[0-9][0-9][0-9][0-9][0-9][0-9]')
);
1
ответ дан 18 December 2019 в 07:30
поделиться

Нужно ли вам сохранять их в виде чисел в таблице (т. Е. Считаете ли вы, что вам нужно будет выполнять агрегирование в запросах - например, SUM и т. Д.)?

Если нет, то текст / строка типа данных будет достаточно.

Если вы ДЕЛАЕТЕ, тогда, возможно, вам понадобится 2 поля.

  1. для хранения числа [например, 80000] и
  2. для хранения некоторых метаданных о том, как значение должно отображаться
    • возможно какая-то маска или шаблон форматирования [например, '000000'].

Затем вы можете использовать указанную выше строку шаблона для форматирования отображения числа

  • , если вы используете язык .NET, вы можете используйте System.String.Format () или System.Object.ToString ()

  • , если вы используете формы / отчеты Access, тогда Access использует очень похожие шаблоны форматирования строк в элементах управления пользовательского интерфейса.

0
ответ дан 18 December 2019 в 07:30
поделиться

Ключевой вопрос:

Являются ли ведущие нули значимыми данными или просто форматированием?

Например, 07086 - это мой почтовый индекс, и ведущий ноль имеет значение, поэтому почтовые индексы США должны храниться в виде текста.

Считаются ли значения «1», «01», «001» и «0001» уникальными допустимыми значениями или они считаются дубликатами?

Если ведущий ноль равен , а не ], имеющий смысл в вашей таблице, и предназначен только для форматирования, затем сохраните данные в виде числа и формата с ведущими нулями по мере необходимости для целей отображения.

Вы можете использовать функцию Format () , чтобы сделать ваше форматирование, как в этом примере запроса:

SELECT Format(number_field, "000000") AS number_with_leading_zeroes
FROM YourTable;

Кроме того, хранение и индексация чисел во всех известных мне механизмах баз данных более эффективны, чем хранение и индексация текста, поэтому с большими наборами данных (сотни тысяч записей и более) снижение производительности при использовании текстового типа данных для числовых данных может быть довольно большим.

Наконец, если вам нужно произвести вычисления с данными, вы хотите, чтобы они сохранялись в виде чисел.

Ключ состоит в том, чтобы начать с того, как данные будут использоваться, и выбрать тип данных соответственно. О форматировании следует беспокоиться только во время презентации (в формах и отчетах).

Внешний вид никогда не должен определять выбор типов данных в полях вашей таблицы.

О форматировании следует беспокоиться только во время презентации (в формах и отчетах).

Внешний вид никогда не должен определять выбор типов данных в полях вашей таблицы.

О форматировании следует беспокоиться только во время презентации (в формах и отчетах).

Внешний вид никогда не должен определять выбор типов данных в полях вашей таблицы.

4
ответ дан 18 December 2019 в 07:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: