1С8 Запросы. Оператор ПОДОБНО (LIKE) и СПЕЦСИМВОЛ

Оператор ПОДОБНО в запросах на 1С8 - мощный инструмент обработки строковых данных.

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

Как пользоваться Оператором ПОДОБНО:

Оператор ПОДОБНО позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа.

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

Следующие символы в строке шаблона являются служебными и имеют смысл, отличный от символа строки:

  • % (процент): последовательность, содержащая любое количество произвольных символов

    % (процент) - аналог (.*) в регулярных выражениях - любой символ повторенный ноль или больше раз.

    // Все адреса содержащие символы "мос" в любом месте
    ВЫБРАТЬ
    	Банки.Адрес
    ИЗ
    	Справочник.Банки КАК Банки
    ГДЕ
    	Банки.Адрес ПОДОБНО "%мос%"
    
    Image
  • _ (подчеркивание): один произвольный символ
  • […] (в квадратных скобках один или несколько символов): любой одиночный символ из перечисленных внутри квадратных скобок В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона.
  • [^…] (в квадратных скобках значок отрицания, за которым следует один или несколько символов): любой одиночный символ, кроме тех, которые перечислены следом за значком отрицания Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки.

    Если в качестве самого себя необходимо записать один из перечисленных символов, то ему должен предшествовать <Спецсимвол>. Сам <Спецсимвол> (любой подходящий символ) определяется в этом же операторе после ключевого слова СПЕЦСИМВОЛ.

    Например, шаблон “%АБВ[0-9][абвг]\_абв%” СПЕЦСИМВОЛ “\” означает подстроку, состоящую из последовательности символов:

    буквы А; буквы Б; буквы В; одной цифры; одной из букв а, б, в или г; символа подчеркивания; буквы а; буквы б; буквы в. Причем перед этой последовательностью может располагаться произвольный набор символов.

В приведенном ниже примере - Вывести все наименования содержащие символ "_", СПЕЦСИМВОЛ "\" является экранирующим для символа "_", который означает "один произвольный символ".

1С запросы ПОДОБНО СПЕЦСИМВОЛ




Рекламный блок:

Предлагаем решение Ваших задач 1С.

Внедрение 1С:

Доработка и сопровождение 1С:

Ориентировочная стоимость работ программиста 1С : 500 р. за 1 час работы.

Пишите: j008@j008.ru

Звоните: 8 916 710 83 51 Ольга