Оператор 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
См. также
- Форум для разработчиков Access
- Помощь при работе с Access на support.office.com
- Форумы Access на UtterAccess
- Справочный центр (FMS) для разработки и VBA программирования для Access
- Публикации по Access на StackOverflow
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.