上一页下一页

根据两个值之间的相似性筛选记录

可以根据参数值与记录列的值的相似性,对数据库中的记录进行筛选。

在指定搜索参数的值时,使用相似性而不是相等性,可以给予用户更大的灵活性。例如,搜索字不需要区分大小写。如果用户输入“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” 开头的那些记录包含在记录集中:

这是所描述的功能的图片。


  上一页下一页