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


Оператор Like (Microsoft Access SQL)

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

Сравнивает строковое выражение с шаблоном в выражении SQL.

Синтаксис

выражение, как "pattern"

Синтаксис оператора Like состоит из следующих частей:

Part Описание
выражение Выражение SQL, используемое в предложении WHERE.
pattern Строковый или символьный строковый литерал, с которым сравнивается выражение .

Замечания

Используйте оператор Like , чтобы найти значения в поле, соответствующее указанному шаблону. Для шаблона можно указать полное значение (например, Like "Smith"), или использовать подстановочные знаки для поиска диапазона значений (например, ), или использовать подстановочные знаки для поиска диапазона значений (например, Like "Sm*").

В выражении можно использовать оператор Like для сравнения значения поля со строковым выражением. Например, если ввести Like "C*" в SQL-запросе, запрос вернет все значения полей, начинающиеся с буквы C. В запросе параметров можно запросить у пользователя шаблон для поиска.

В следующем примере возвращаются данные, начинающиеся с буквы P, за которой следует любая буква между A и F и три цифры:

Like "P[A-F]###"

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

Тип соответствия Pattern Match (возвращает значение True) Нет совпадения (возвращает значение False)
Несколько символов a*a aa, aBa, aBBBa азбука
ab abc, AABB, Xab aZb, bac
Специальный знак a[*]a a*a Ааа
Несколько символов ab* abcdefg, abc cab, aab
Один символ a?a aaa, a3a, aBa aBBBa
Однозначная цифра a#a a0a, a1a, a2a aaa, a10a
Диапазон символов [a-z] f, p, j 2, &
За пределами диапазона [!a-z] 9, &, % b, a
Не цифра [!0-9] A, a, &, ~ 0, 1, 9
Комбинированный a[!b-m]# An9, az0, a99 abc, aj0

Пример

В этом примере возвращается список сотрудников, имена которых начинаются с букв от A до D. Он вызывает процедуру EnumFields, которую можно найти в примере инструкции SELECT.

Sub LikeX() 
 
    Dim dbs As Database, rst As Recordset 
 
    ' Modify this line to include the path to Northwind 
    ' on your computer. 
    Set dbs = OpenDatabase("Northwind.mdb") 
 
    ' Return a list of employees whose names begin with 
    ' the letters A through D. 
    Set rst = dbs.OpenRecordset("SELECT LastName," _ 
        & " FirstName FROM Employees" _ 
        & " WHERE LastName Like '[A-D]*';") 
 
    ' Populate the Recordset. 
    rst.MoveLast 
 
    ' Call EnumFields to print the contents of the  
    ' Recordset. Pass the Recordset object and desired 
    ' field width. 
    EnumFields rst, 15 
    
    dbs.Close 
 
End Sub

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.