Like 运算符 (Microsoft Access SQL)

2025-10-28 08:41:47

适用于:Access 2013 | Access 2016

将字符串表达式与 SQL 表达式中的模式进行比较。

语法

表达式Like “pattern”

Like 运算符语法包含以下部分:

Part

说明

expression

在 WHERE 子句中使用的 SQL 表达式。

pattern

与 expression 进行比较的字符串或字面字符串。

备注

使用 Like 运算符可在与指定的模式匹配的字段中查找值。 对于 模式,可以指定完整值 (例如 Like "Smith") ,或者可以使用 通配符 查找值范围 (例如 ) ,或者可以使用通配符查找值范围 (例如“Like ”Sm*“) 。

在表达式中,可以使用 Like 运算符来比较字段值与字符串表达式。 例如,如果在 SQL 查询中输入 Like "C*" ,该查询将返回以字母 C 开头的所有字段值。在参数查询中,可以提示用户输入要搜索的模式。

以下示例返回以字母 P 开头并且后面为 A 到 F 之间任何字母和三个数字的数据:

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

下表演示如何使用 Like 来测试不同模式的表达式。

匹配类型

Pattern

匹配 (返回 True)

无匹配 (返回 False)

多个字符

a*a

aa、aBa 和 aBBBa

aBC

血型

abc、AABB 和 Xab

aZb 和 bac

特殊字符

a[*]a

a*a

aaa

多个字符

血型*

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

另请参阅

访问开发人员论坛

访问 support.office.com 上的帮助

访问 UtterAccess 上的论坛

访问开发人员和 VBA 编程帮助中心 (FMS)

访问 StackOverflow 上的帖子

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。