代码之家  ›  专栏  ›  技术社区  ›  Jason

使用startswith关键字执行ASP.NET数据库搜索

  •  0
  • Jason  · 技术社区  · 17 年前

    我有个问题。我正在开发一个有搜索引擎的网站。搜索引擎是主要功能。它是一个商业目录网站。

    我现在有一个基本的搜索SQL,它使用“like”关键字搜索数据库。

    我的客户要求我更改搜索功能,所以他们不使用“like”关键字而是按照“startswith”关键字的行搜索。

    为了澄清这一需求,这里有一个例子。 如果有人在文本框中为水管工键入“plu”,它当前会返回,例如,

    1. 中心州管道和屋顶
    2. 管道不受限制

    客户只想返回“无限管道”,因为它从“plu”开始,而不“包含”“plu”

    我知道这是一个奇怪的,也许是愚蠢的请求,但是是否有人有任何示例SQL代码来向我指出如何实现这个目标的正确方向。

    任何帮助都会非常感谢,谢谢…

    3 回复  |  直到 8 年前
        1
  •  1
  •   Dexter    17 年前

    而不是:

    select * from professions where name like '%plu%'
    

    ,使用不带前导%的WHERE子句:

    select * from professions where name like 'plu%'
    
        2
  •  2
  •   Harnod    17 年前

    这个怎么样? SELECT * FROM MyTable WHERE MyColumn LIKE 'PLU%'


    请注意,%符号只在字符串的右侧
    MS SQL中的示例

        3
  •  0
  •   Joel Coehoorn    17 年前

    LIKE 不会为您提供真正有效搜索所需的性能。在调查类似的事情 Lucence 或者引擎的全文搜索等价物。