0

我编写了一个 sql 查询来搜索数据库的 2 列 partNo 和 Description 并且它可以很好地搜索描述但是如果您搜索诸如 164 之类的零件号,它会选择所有以 164 开头的零件号,例如说: 164-20 但它不会像 APS164-20 那样获取结果

这是我的 sql 代码,我正在运行 mssql 2005。

SELECT FT_TBL.*, KEY_TBL.RANK
FROM Parts AS FT_TBL 
    INNER JOIN FREETEXTTABLE(Parts,(PartNo, Description),  
    '164') AS KEY_TBL
        ON FT_TBL.PartNo = KEY_TBL.[KEY]
ORDER BY KEY_TBL.RANK DESC;
GO

我尝试了 containstable 但也没有返回行

4

1 回答 1

0

全文搜索不会涵盖这种情况,在这种情况下,您实际上是在将搜索词作为文本中的子字符串来查找。

尝试使用传统的通配符搜索:

SELECT *
FROM Parts AS FT_TBL 
WHERE FT_TBL.PartNo like '%164%'
于 2012-03-09T14:58:22.457 回答