Капитально об программе 1С 8.0-8.3-8.4, 7.7

ПОДОБНО в условиях запроса

Рассмотрим назначение и использование условного оператора ПОДОБНО(eng. LIKE) в языке запроса 1С в примерах.

Предназначение

Проверить на соответствие строкового значения в запросе указанному шаблону — возвращает значение Булево-типа (ИСТИНА или ЛОЖЬ).

Места использования

Описание синтаксиса оператора ПОДОБНО

Параметр оператора должен быть строкой: может задаться константой, либо передан  как параметр запроса.

Литералы(маски), указанные ниже, допускается использовать совместно и по отдельности.

Точное указание строки

ВЫБРАТЬ первые 10
  Ключи.Наименование
ИЗ
  Справочник.Ключи КАК Ключи
ГДЕ
  Ключи.Наименование ПОДОБНО "1"//Равносильно Ключи.Наименование ="1"

Результат:

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

ВЫБРАТЬ первые 10
  Ключи.Наименование
ИЗ
  Справочник.Ключи КАК Ключи
ГДЕ
  Ключи.Наименование ПОДОБНО "%"

Результат: любые 10 наименований

_ (подчеркивание): литерал, соответствующий одному любому символу

Пример  №1:

ВЫБРАТЬ первые 10
  Ключи.Наименование
ИЗ
  Справочник.Ключи КАК Ключи
ГДЕ
  Ключи.Наименование ПОДОБНО "_"

Пример №2: начинающиеся на любой символ, затем следует «1», а дальше любые символы

ВЫБРАТЬ первые 10
  Ключи.Наименование
ИЗ
   Справочник.Ключи КАК Ключи
ГДЕ
Ключи.Наименование ПОДОБНО "_1%"

Результат:

[] (в квадратных скобках один или несколько символов)

Пример 

ВЫБРАТЬ первые 10
  Ключи.Наименование
ИЗ
  Справочник.Ключи КАК Ключи
ГДЕ
  Ключи.Наименование ПОДОБНО "[лз]%"

Результат: 10 начинающихся на «л» или «з»

Пример: начинающиеся на 5,6,7 

ВЫБРАТЬ первые 10
  Ключи.Наименование
ИЗ
  Справочник.Ключи КАК Ключи
ГДЕ
  Ключи.Наименование ПОДОБНО "[5-7]%"

Результат:

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

Равносильно любому символу (_) кроме указанных ([]) 

Пример

ВЫБРАТЬ первые 10
  Ключи.Наименование
ИЗ
  Справочник.Ключи КАК Ключи
ГДЕ
  Ключи.Наименование ПОДОБНО "8.[^012]%"//не включаем 8.0,8.1,8.2

Результат: все начинающиеся на «8.» исключая указанные

СПЕЦСИМВОЛ — команда для указания в запросе зарегистрированных выше символов

В качестве служебного символа допустимо использовать как минимум: #,~,/,\

Пример:

ВЫБРАТЬ первые 10
  Ключи.Наименование
ИЗ
  Справочник.Ключи КАК Ключи
ГДЕ
  Ключи.Наименование ПОДОБНО "#_" СПЕЦСИМВОЛ "#"

Результат:

Применимость в платформах

Неверные параметры ПОДОБНО <<?>>

Обратите внимание на текст ошибки, где выводится вопрос:

<<?>>Ключи.Ссылка ПОДОБНО "1"

или 

Ключи.Наименование ПОДОБНО <<?>>&L