Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции по бд.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
4.79 Mб
Скачать

Строки переменной длины

SQL поддерживает строки переменной длины. Стандартное определение строк переменной длины в SQL выглядит так:

CHARACTER VARYING(n),

где n представляет число, задающее максимальное число позиций, выделяемое для поля, которое определяется данным оператором.

Обычными типами данных для строк переменой длины являются VARCHAR и VARCHAR2. VARCHAR соответствует стандарту ANSI и используется, например, в Microsoft SQL Server, a VARCHAR2 используется Oracle, чтобы не зависеть от возможных изменений VARCHAR в будущем. Этот тип данных предполагает хранение буквенночисловых значений.

Не забывайте, что строки фиксированной длины предполагают заполнение оставшихся пустыми позиций пробелами, а строки переменной длины – нет. Например, если для строки переменной длины выделено 10 позиций, а введенные данные занимают всего пять, то это введенное значение и займет всего 5 позиций. Пробелы для заполнения остальных позиций в столбце использоваться не будут.

Для данных в виде строк различной длины всегда используйте тип данных, допускающий строки переменной длины.

Числовые значения

Числовые значения хранятся в полях, определенных как некоторого типа числа и обычно имеющих атрибуты типа NUMBER, INTEGER, REAL, DECIMAL и т. п. Стандартными для SQL являются следующие значения:

  • BIT(n)

  • BIT VARYING (n)

  • DECIMAL(p, s)

  • INTEGER

  • SMALLINT

  • FLOAT(p)

  • REAL(s)

  • DOUBLE PRECISION(p)

где p представляет число позиций, выделяемых для соответствующего поля (его максимальную длину), a s задает число позиций справа от десятичного разделителя.

Общим числовым типом данных для всех реализаций SQL является NUMBER, что соответствует рекомендациям ANSI для числовых значений. Числовые значения могут быть нулевыми, положительными, отрицательными, с фиксированной точкой или плавающей точкой. Вот пример использования оператора NUMBER:

NUMBER(5) .

Здесь вводимые в поле значения ограничиваются сверху максимальным значением 99999.

Десятичные значения

Десятичные значения – это числовые значения, в которых используется десятичная точка (десятичный разделитель). Вот стандартный оператор SQL для определения десятичного типа данных, где р задает точность, a s – масштаб числа:

DECIMAL(p, s)

Точностьэто общая длина числового значения. Например, определение DECIMAL(4, 2) задает для числовых значений точность, равную 4, что соответствует общему числу позиций, выделенному для хранения числа.

Масштабэто число знаков справа от десятичного разделителя. В предыдущем примере DECIMAL(4, 2) масштаб задается равным 2.

Если в поле, определенное как DECIMAL(3, 1), ввести значение 34.33, то введенное значение округлится до 34.3.

Если для значений в поле при определении назначен тип DECIMAL(4, 2), это значит, что значения, хранимые в поле, будут ограничены сверху числом 99.99.

Точность 4 задает общую длину соответствующего числового значения. Масштаб 2 задает число знаков или байтов, отведенных для дробной части числа (справа от десятичного разделителя). Сам десятичный разделитель здесь как символ не учитывается.

Например, для столбца, определенного как DECIMAL(4, 2), допустимыми будут следующие значения:

12

12.4

12.44

12.449

Хотя последнее из приведенных здесь значений, а именно 12.449, будет округлено после ввода в столбец до 12.45.

Целые

Целое значениеэто числовое значение, не содержащее дробной части (оно может быть как положительным, так и отрицательным).