12

テーブル名に次のProduct3つの列が含まれています:

Product-id
name
Price

列にはname、すべての製品名が表示されます。

例: 1340 GPS、1340T GPS など

私が書くとき

select top 10 * from product where contains(name,'1340');

結果1行1340 GPS

しかし、私が検索すると

select top 10 * from product where name like '%1340%';

結果は1340 GPS and 1340T GPSです。

実際、私の要件は使用することですcontains()が、両方の行のようなLIKE演算子を表示する必要があります。

その方法:?

助けてください

前もって感謝します

4

2 に答える 2

15

これを行う簡単な方法は次のとおりです。like operator と同じように、contains 構文の前に "*" を使用できます。ただし、検索文字列の前後に二重引用符を使用する必要があります。次のクエリを確認してください:

SELECT *
FROM product
WHERE CONTAINS(name,'"*1340*"');

それは間違いなく動作します。

于 2013-06-14T07:51:38.463 に答える
1

select * from product where FREETEXT (product. ,'"1340 "')

于 2016-06-01T12:49:20.633 に答える