Иллюстрированный самоучитель по SQL для начинающих

Основы SQL

Сводка типов данных

В таблице 2.2 перечислены различные типы данных и показаны литералы, которые соответствуют каждому из этих типов.

Таблица 2.2. Типы данных.

Тип данных Пример значения
CHARACTER (20) 'Любительское радио'
VARCHAR (20) 'Любительское радио'
CLOB (1000000) 'В этой строке миллион символов..'
SMALLINT, BIGINT ИЛИ INTEGER 7500
NUMERIC или DECIMAL 3425.432
REAL, FLOAT ИЛИ DOUBLE PRECISION 6.626e-34
BLOB (1000000) '1001001110101011010101010101… '
BOOLEAN 'true'
DATE DATE '1957-08-14'
TIME (2) WITHOUT TIME ZONE (аргумент указывает количество цифр в дробной части) TIME '12:46:02.43' WITHOUT TIME ZONE
TIME (3) WITH TIME ZONE TIME '12:46:02.432-08:00' WITH TIME ZONE
TIMESTAMP WITHOUT TIME ZONE (0) TIMESTAMP '1957-08-14 12:46:02' WITHOUN TIME ZONE
TIMESTAMP WITH TIME ZONE (0) TIMESTAMP '1957-08-14 12:46:02-08:00' WITH TIME ZONE
INTERVAL DAY INTERVAL '4' DAY
ROW ROW (Street VARCHAR (25), City VARCHAR (20), Stat CHAR (2), PostalCode VARCHAR (9))
ARRAY INTEGER ARRAY [15]
MULTISET Нет точного применения типа multiset
REF Это не тип, а указатель
USER DEFINED TYPE Тип валюты, созданный на основе decimal

Помни:
Имеющаяся у вас реализация SQL может не поддерживать все типы данных, перечисленные в этом разделе. Более того, в вашей реализации могут поддерживаться нестандартные типы, которые здесь не описываются. (Каждый из вас успел уже как профессионал набраться опыта, "намотать километраж" и т.д. Так что вы знаете, где искать то, чего еще не знаете.)

Неопределенные значения

Помни:
Если в поле базы данных находятся какие-то данные, то в этом поле имеется определенное значение. А если поле не содержит никаких данных, то говорят, что у него неопределенное значение. Неопределенное значение (null) в числовом поле – это не одно и то же, что нуль. А в символьном поле неопределенное значение – это не одно и то же, что пустая строка. И нуль и пустая строка являются определенными значениями. Неопределенное же значение указывает на то, что имеющееся в поле значение неизвестно
.

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

  • Значение существует, но вам оно пока что неизвестно. До того, как была точно вычислена масса кварка, вы в самой верхней строке таблицы QUARM (кварк) установили в поле MASS (масса) неопределенное значение.
  • Значение пока что не существует. В строке SQL For Dummies, 5th Edition таблицы BOOKS (книги) вы установили в поле TOTAL_SOLD (всего продано) неопределенное значение, так как первые данные о продажах за квартал еще не поступили.
  • Поле для данной строки неприменимо. В строке С-ЗРО таблицы EMPLOYEE (наемный работник) вы установили в поле SEX (пол) неопределенное значение, так как С-ЗРО – это андроид, у которого пола нет.
  • Значение выходит за пределы установленного диапазона. В строке Oprah Winfrey (Опра Уинфри) таблицы EMPLOYEE вы установили в поле SALARY (зарплата) неопределенное значение, так как для этого поля вы задали тип NUMERIC (8.2), а оклад, предусмотренный в контракте Опра, превышает 999999.99 доллара.

Совет:
Поле может иметь неопределенное значение по самым разным причинам. Так чад не торопитесь с выводами относительно того, что означает конкретное неопределенное значение
.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.