double arrow

Пользовательские типы данных


Значения типа BOOLEAN

Значения NULL

Буквальные значения

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

Обычно для буквальных значений тип данных не объявляется – просто указывается нужная строка. Вот несколько примеров:

  • 'Hello'
  • 45000
  • "45000"
  • 3.14
  • ' 1 ноября 1997'

Здесь буквенно-числовые строки заключены в одиночные кавычки, а, например, значение 45000 – нет. Обратите также внимание на то, что второе значение 45000 заключено в обычные кавычки. Вообще говоря, строки символов требуют заключения их в кавычки, а числовые значения – нет. Позже вы узнаете, как используются буквальные значения в запросах к базе данных.

Как вы уже знаете, значение NULL означает пропущенное значение или поле в строке данных, которому не было присвоено значения. Значение NULL используется в SQL почти повсюду – при создании таблиц, условий поиска в запросах и даже в буквальных строках.

Для значения NULL можно использовать следующие две формы ссылки на него:

  • NULL (ключевое слово NULL);
  • ' ' (два знака одиночной кавычки и ничего между ними).

Следующая строка не представляет значения NULL, а представляет строку, содержащую символы N‑U‑L‑L:

'NULL'.

Значения типа BOOLEAN (логические значения) могут принимать значения TRUE (истина), FALSE (ложь) или NULL. Значения типа BOOLEAN используются для сравнения данных. Например, если в запросе заданы несколько критериев, каждое из заданных условий оценивается и им присваиваются значения TRUE, FALSE или NULL. Соответствующие данные включаются в ответ на запрос только тогда, когда для всех условий возвращается логическое значение TRUE. Если же среди возвращенных значений будут либо FALSE, либо NULL, данные в ответ на запрос могут не включаться.

Рассмотрим следующий пример:

WHERE NAME = 'SMITH'

Такая строка вполне может быть одним из условий в запросе. Тогда условие оценивается для каждой строки данных той таблицы, которой адресован запрос, и если оказывается, что значением NAME является SMITH, условие получает значение TRUE, и запрос возвращает ассоциированные с соответствующей записью данные.

Пользовательский тип данныхэто тип данных, определяемый пользователем. Пользовательские типы данных дают возможность строить свои типы данных на основе уже имеющихся. Для создания такого типа данных используется оператор CREATE TYPE. Например,

CREATE TYPE PERSON AS OBJECT
(NAME VARCHAR2(30), SSN VARCHAR2(9));

Ссылаться на определенный таким образом пользовательский тип данных можно так:

CREATE TABLE EMP_PAY (EMPLOYEE PERSON, SALARY NUMBER(10, 2), HIRE_DATE DATE)

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

Некоторые из приведенных в тексте этого урока типов данных в разных реализациях SQL могут иметь различные имена. Несмотря на различия в именах, лежащий в основе создания типов данных подход всегда одинаков. Большинство из указанных типов данных, если не все они, поддерживаются большинством реляционных баз данных.



Сейчас читают про: