Поделиться через


Использование подстановочных знаков при сравнении строк

Область применения: Access 2013, Office 2013

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

Символов в шаблоне

Совпадений в выражении

? или _ (символ подчеркивания)

Любой знак

* или %

Ноль или более символов

#

Любая однозначная цифра (0–9)

[charlist]

Любой знак в группе charlist

[! charlist]

Любой знак вне группы charlist

Вы можете использовать группу из одного или нескольких символов (charlist), заключенных в квадратные скобки ([ ]), чтобы сопоставить любой символ в выражении, а charlist может включать практически любые символы в набор символов ANSI, включая цифры. Специальные символы, открывающие скобку ([), вопросительный знак (?), знак цифры (#) и звездочку (*) можно использовать для сопоставления непосредственно самих себя, только если они заключены в скобки. Закрывающая скобка ( ]) в группе не может использоваться для сопоставления самой себя, но ее можно использовать за пределами группы в качестве отдельного символа.

Помимо простого списка знаков, заключенных в скобки, группа charlist может задавать диапазон символов, используя дефис (-) для разделения верхней и нижней границ диапазона. Например, использование [A–Z] в шаблоне приводит к совпадению, если соответствующая позиция символа в выражении содержит какие-либо прописные буквы в диапазоне от A до Z. В квадратные скобки можно включить несколько диапазонов, не разделяя диапазоны. Например, [a-zA-Z0-9] соответствует всем буквенно-числовым символам.

Важно отметить, что подстановочные знаки SQL ANSI (%) и (_) доступны только в Microsoft Jet версии 4.X и поставщике Microsoft OLE DB для Jet. Они будут рассматриваться как литералы, если они используются через Microsoft Access или DAO.

Также имеются другие важные правила для сопоставления шаблона:

  • Восклицательный знак (!) в начале группы charlist означает, что сопоставление выполняется, если все символы, за исключением содержащихся в charlist, найдены в выражении. Если символ восклицательного знака используется без скобок, он сопоставляется с самим собой.

  • Дефис (-) можно использовать в начале (после восклицательного знака, если он используется) или в конце списка charlist , чтобы соответствовать самому себе. В любом другом расположении дефис определяет диапазон символов ANSI.

  • При указании диапазона символов символы должны отображаться в порядке сортировки по возрастанию (A–Z или 0–100). [A–Z] является допустимым шаблоном, а [Z–A] — нет.

  • Последовательность символов [ ] игнорируется; он считается строкой нулевой длины ("").