Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Неделя 07 Лекция 2 (11).doc
Скачиваний:
2
Добавлен:
13.11.2019
Размер:
196.61 Кб
Скачать

11.5.9. Использование функции cast.

Иногда возникает потребность трактовать значение одного типа как значение другого типа. Например, использовать числовое значение как символьную строку или наоборот. В этом случае применяют функцию

CAST (<значение> AS <тип данных>)

Функция CAST делает копию значения, преобразуя его к указанному типу данных. При этом не следует забывать о множестве типов данных, в которое может быть преобразовано данное значение:

Тип данных

Можно привести к типам

NUMERIC

CHARACTER, DATE

CHARACTER

NUMERIC, DATE

DATE

CHARACTER, NUMERIC

ПРИМЕР

Выбрать коды, серии и номера паспортов, в номерах которых встречается число 84.

SELECT Code, Series, Number

FROM PasportData

WHERE CAST(Number AS CHAR(5)) LIKE ‘%84%’;

Результаты выполнения этого запроса представлены в таблице 11.17

Таблица 11.17.

Code

Series

Number

11

ИК

10842

11.5.10. Использование значения null в условиях поиска.

Если требуется выдать все записи, в которых некоторый столбец (или результат вычисления выражения) имеет значение NULL, достаточно в условии поиска указать

<значение> IS [NOT] NULL

ПРИМЕР

Выбрать коды и названия книг, у которых не указаны УДК.

SELECT Code, Namer

FROM Books

WHERE UDK IS NULL;

Результаты выполнения этого запроса представлены в таблице 11.18

Таблица 11.18.

Code

Name

1

Автоматизация производственных процессов на обогатительной фабрике

2

Решение задач по автоматизации процессов обогащения и металлургии

3

Асимтотические методы оптимального управления

4

Синтез оптимальных автоматических ситем

5

Методы оптимизации стохастических систем

6

Автоматизированные системы управления технологическим процессом обогащения руды

Контрольные вопросы:

  1. Как в SQL происходит расчет результирующих столбцов на основе арифметических выражений?

  2. Перечислите известные Вам агрегатные функции. Что выполняет каждая из них?

  3. Как выдать агрегированные значения не по всему результирующему набору данных, а по каждой из входящих в него групп записей, характеризующихся одинаковым значением какого-либо столбца?

  4. Какое предложение используется в предложение GROUP BY, если нужно в результирующем НД выдавать агрегацию не по всем группам, а только по тем из них, которые отвечают некоторому условию?

  5. Чем условие в HAVING отличается от условия в WHERE?

  6. С помощью каких логических функций могут быть построены более сложные условия поиска?

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

  8. Что необходимо указать в условии поиска, чтобы значение какого-либо символьного столбца или выражения включало в себя (неважно, начиная с какого символа) определенную подстроку?

  9. Для чего в условиях поиска используется функция UPPER(<значение>)?

  10. Какое предложение задает шаблоны сравнения строковых значений?

  11. Какие специальные символы используются в шаблоне сравнения строковых значений?

  12. Какая функция делает копию значения, преобразуя его к указанному типу данных?

  13. Что достаточно указать в условии поиска, при необходимости выдачи всех записей, в которых некоторый столбец (или результат вычисления выражения) имеет значение NULL?

17