Значения типа 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 могут иметь различные имена. Несмотря на различия в именах, лежащий в основе создания типов данных подход всегда одинаков. Большинство из указанных типов данных, если не все они, поддерживаются большинством реляционных баз данных.