Добавил:
sora.alai.102@gmail.com Делаю работы на заказ. Какие именно? Пишите. Или регайтесь на бирже, где я работаю: https://vsesdal.com/promo?ref=748568 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Метод. указания к ЛР № 6

.pdf
Скачиваний:
35
Добавлен:
25.11.2018
Размер:
229.61 Кб
Скачать

Лабораторная работа 6

Функции для работы со строками в запросе

Когда говориться строка в запросе, то имеется в виду либо строковая константа:

ВЫБРАТЬ "Жизнь прекрасна!"

либо реквизит таблицы, у которого тип СТРОКА:

ВЫБРАТЬ

Наименование

ИЗ

Справочник.Еда

Сложение строк

Для сложения используется операция +

ВЫБРАТЬ "Еда: " + Наименование

ИЗ

Справочник.Еда

Функция ПОДСТРОКА

Данная функция предназначена для выделения подстроки из строки.

Вкачестве параметров принимает:

строку, из которой необходимо выделить подстроку;

позицию символа, с которого начинается выделяемая из строки подстрока;

длину выделяемой подстроки.

ВЫБРАТЬ ПОДСТРОКА("1234567890", 1, 5)

ВЫБРАТЬ ПОДСТРОКА("1234567890", 3, 4)

ВЫБРАТЬ Наименование,

ПОДСТРОКА(Наименование, 1, 2)

ИЗ

Справочник.Еда

Функция ПОДОБНО

Если нужно убедиться, что строковый реквизит соответствует определённым критериям мы

его сравниваем. Например, так:

ВЫБРАТЬ

Наименование

ИЗ

Справочник.Еда

ГДЕ

Наименование = "Лимон"

А что, если нужно более хитрое сравнение? Не просто на равенство или неравенство, а на подобие определенному шаблону? Вот как раз для этого и создана функция ПОДОБНО.

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

Значение выражения должно иметь тип строка. Если значение выражения удовлетворяет шаблону – результатом оператора будет ИСТИНА, иначе – ЛОЖЬ.

ВЫБРАТЬ

Наименование

ИЗ

Справочник.Еда

ГДЕ

Наименование ПОДОБНО "[К]%"

Результатом выполнения данного запроса будет вся еда, наименование которой начинается на букву "К":

Здесь вся "хитрость" сосредоточена в строке шаблона "[К]%". Буква "К" в квадратных скобках в данном случае означает, что первым символом наименования должна быть буква "К". Знак "%", идущий следом означает, что после буквы "К" могут идти (или не идти) любые символы в любом количестве.

При формировании строки шаблона есть определенные правила, которые нужно соблюдать:

% означает любое количество произвольных символов

_ означает один произвольный символ

[] означает любой одиночный символ, перечисленный внутри скобок

[^] означает любой одиночный символ, кроме тех, что перечислены внутри скобок после ^

Примеры шаблонов с пояснениями:

"%" абсолютно любая строка (в том числе пустая):

"___" строка из трёх символов (любых):

"[ЧЛ]%[ЫН]" строка, начинающаяся с буквы Ч или Л и оканчивающаяся на Ы или Н:

"[^К]%" строка, не содержащая в начале букву К:

"[А-К]%" строка, начинающаяся с буквы из диапазона с А по К:

Обратите внимание на приём, использованный в шаблоне "[А-К]%". Вместо того, чтобы перечислять все буквы от А до К, например так "[АБВГДЕЁЖЗИЙК]%" мы указали диапазон значений через дефис. Квадратные скобки это позволяют делать.

Задание

а) Напишите запрос, который выводит все заказы клиентов (таблица Документ.ЗаказКлиента) и первые три буквы имени клиента в каждом заказе:

б) Напишите запрос, который получает цвета (таблица Справочник.Цвета), в названии которых присутствует сочетание букв "ра":

в) Напишите запрос, который получает цвета, в названии которых больше шести букв: