![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
||
|
可以根据参数值与记录列的值的相似性,对数据库中的记录进行筛选。
在指定搜索参数的值时,使用相似性而不是相等性,可以给予用户更大的灵活性。例如,搜索字不需要区分大小写。如果用户输入“ohio”,而表列中包含值“Ohio”,则产生匹配。
而且,相似性允许使用通配符,以便用户可以搜索字母或搜索单词中的一部分。例如,如果用户输入“m”,而且表列中包含值“Morgan”、“Macy”和“Michelson”,则可在 SQL 语句中使用通配符,以便与所有这三个项匹配。
标准通配符是百分号 (%):
...WHERE LastName LIKE 'Mc%'
假设决定让用户按姓氏搜索数据库。则必须满足下列逻辑关系才能生成搜索结果记录集:
可以使用下列 WHERE
子句表达这种逻辑关系:
WHERE ColumnName LIKE ParameterValue
ParameterValue
是包含搜索参数的 SQL 变量。在 Web 应用程序中,用户通常使用 HTML 表单提供此参数。
可以完全用 SQL 表达这种数据库查询,如下所示:
SELECT FIRSTNAME, LASTNAME, DEPARTMENT, EMAIL FROM EMPLOYEES WHERE DEPARTMENT LIKE 'varLastName'
如果要使用户能够搜索部分单词,可组合使用变量和通配符。这种情况下使用的 SQL 通配符是百分号 (%)。示例如下:
...WHERE LASTNAME LIKE 'varLastName%'
例如,如果用户键入“s”作为搜索参数,则姓氏以字母“s”开头的所有记录都包含在记录集中,如下面的示例所示:
如果用户指定 “sm” 作为搜索参数,则只有姓氏以字母“sm” 开头的那些记录包含在记录集中:
|
||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |