通配符 通过使用通配符字符,可以在数据列或表达式中搜索模式。例如,可以搜索姓氏以"Mac"开头或以"son"结尾的所有员工。在本主题中将了解下列相关信息: 通配符 搜索用作通配符的字符 搜索日期时间列 通配符搜索示例 通配符 使用通配符可以搜索任何被视为文本字符串的列。带有数据类型字符的列可以始终作为文本字符串处理。若要按样式搜索,请使用 LIKE 运算符,然后用通配符代替搜索字符串中的一个或多个字符。可使用下面两个通配符的任意一个:通配符 含义 %(百分号) 在该位置有零个或多个字符 _(下划线) 在该位置有一个字符 例如,若要搜索所有以"Mac"开始的名字,可指定搜索条件 LIKE 'Mac%'。若要查找"Jan"、"Jen"和"Jon"这类名字,可指定搜索条件 LIKE 'J_n'。搜索用作通配符的字符 某些情况下,在要搜索的字符串中可能包含一个用作通配符的字符。例如,想在 title 表中查找书名中包含字符串"10%"的所有出版物。因为"%"是所搜索的字符串的一部分,因此必须将其指定为文字字符串而不是通配符。若要搜索可被解释为通配符的字符,可指定转义符。将转义符放在表示字面意义的"%"或"_"字符的最前面。若要指定转义符,请在 LIKE 搜索准则的后面包含 ESCAPE 子句。在网格窗格的"准则"列中或在 SQL 窗格中都可以指定转义符。例如,假设要查找包含字符串"10%"的所有书名。假设想将字符"#"定义为转义符,在表示字面意思的"%"字符前面加上"#"。可在网格窗格中输入:LIKE '%10#%%' ESCAPE '#'所得到的 SQL 语句中的 WHERE 子句象下面这样:WHERE title LIKE '%10#%%' ESCAPE '#' 注意 只能在 SQL 窗格中定义转义符。搜索日期时间列 当使用日期时间数据类型的列时,可以搜索日期或时间的任何部分,包括月份的缩写形式和完整表示的年份。 例如,可用下列 LIKE 子句搜索日期在 1994 年内的所有行:LIKE '%1994%' 下列子句搜索日期在一月份内的所有行,与年份无关:LIKE 'Jan%' 有关更多信息,请参见 LIKE。通配符搜索示例 下面的示例说明通配符的使用。搜索表达式 描述 匹配示例 LIKE 'Mac%' 查找以"Mac"开始的值 Mac MacIntosh Mackenzie LIKE 'J%n' 查找以"J"开头并以"n"结尾的值 Jon Johnson Jason Juan LIKE '%son' 查找以"son"结尾的值 Son Anderson LIKE '%sam%' 查找在字符串的任何位置包含"sam"的值 Sam Samson Grossam LIKE '%Mar%' 在日期时间列中查找三月份 (March) 的值,与年份无关 3/1/94 01 Mar 1992 LIKE '%1994%' 在日期时间列中查找 1994 年的值 12/1/94 01 Jan 1994 LIKE 'Mac_' 查找四个字符的值,其中前三个字符为"Mac" Mack Macs LIKE '_dam' 查找四个字符的值,其中后三个字符为"dam" Adam Odam LIKE '%s_n' 查找包含"s"和在值的结尾包含"n"的值,并且在这两个字符之间有任意一个字符,在它们前面有任意多个字符 Anderson Andersen Johnson san sun
通过使用通配符字符,可以在数据列或表达式中搜索模式。例如,可以搜索姓氏以"Mac"开头或以"son"结尾的所有员工。在本主题中将了解下列相关信息: 通配符
搜索用作通配符的字符
搜索日期时间列
通配符搜索示例
通配符
使用通配符可以搜索任何被视为文本字符串的列。带有数据类型字符的列可以始终作为文本字符串处理。若要按样式搜索,请使用 LIKE 运算符,然后用通配符代替搜索字符串中的一个或多个字符。可使用下面两个通配符的任意一个:通配符 含义
%(百分号) 在该位置有零个或多个字符
_(下划线) 在该位置有一个字符
例如,若要搜索所有以"Mac"开始的名字,可指定搜索条件 LIKE 'Mac%'。若要查找"Jan"、"Jen"和"Jon"这类名字,可指定搜索条件 LIKE 'J_n'。搜索用作通配符的字符
某些情况下,在要搜索的字符串中可能包含一个用作通配符的字符。例如,想在 title 表中查找书名中包含字符串"10%"的所有出版物。因为"%"是所搜索的字符串的一部分,因此必须将其指定为文字字符串而不是通配符。若要搜索可被解释为通配符的字符,可指定转义符。将转义符放在表示字面意义的"%"或"_"字符的最前面。若要指定转义符,请在 LIKE 搜索准则的后面包含 ESCAPE 子句。在网格窗格的"准则"列中或在 SQL 窗格中都可以指定转义符。例如,假设要查找包含字符串"10%"的所有书名。假设想将字符"#"定义为转义符,在表示字面意思的"%"字符前面加上"#"。可在网格窗格中输入:LIKE '%10#%%' ESCAPE '#'所得到的 SQL 语句中的 WHERE 子句象下面这样:WHERE title LIKE '%10#%%' ESCAPE '#'
注意 只能在 SQL 窗格中定义转义符。搜索日期时间列
当使用日期时间数据类型的列时,可以搜索日期或时间的任何部分,包括月份的缩写形式和完整表示的年份。 例如,可用下列 LIKE 子句搜索日期在 1994 年内的所有行:LIKE '%1994%'
下列子句搜索日期在一月份内的所有行,与年份无关:LIKE 'Jan%'
有关更多信息,请参见 LIKE。通配符搜索示例
下面的示例说明通配符的使用。搜索表达式 描述 匹配示例
LIKE 'Mac%'
查找以"Mac"开始的值 Mac
MacIntosh
Mackenzie
LIKE 'J%n'
查找以"J"开头并以"n"结尾的值 Jon
Johnson
Jason
Juan
LIKE '%son'
查找以"son"结尾的值 Son
Anderson
LIKE '%sam%'
查找在字符串的任何位置包含"sam"的值 Sam
Samson
Grossam
LIKE '%Mar%'
在日期时间列中查找三月份 (March) 的值,与年份无关 3/1/94
01 Mar 1992
LIKE '%1994%'
在日期时间列中查找 1994 年的值 12/1/94
01 Jan 1994
LIKE 'Mac_'
查找四个字符的值,其中前三个字符为"Mac" Mack
Macs
LIKE '_dam'
查找四个字符的值,其中后三个字符为"dam" Adam
Odam
LIKE '%s_n'
查找包含"s"和在值的结尾包含"n"的值,并且在这两个字符之间有任意一个字符,在它们前面有任意多个字符 Anderson
Andersen
Johnson
san
sun