2

我有一个products使用以下架构和数据调用的表:

|   product_id   |   name   |   description   |   price   |   location   |
|     NUMBER     | VARCHAR2 |       CLOB      |NUMBER(9,2)| SDO_GEOMETRY |
--------------------------------------------------------------------------
|      27        | Nexus 4  |  Android phone  |    160    |     null     |

当我发出SELECT * FROM products;查询时,我会取回数据。一切都很好。但我希望能够CONTAINS()在 where 中使用返回结果,如下所示:

SELECT "PRODUCT_ID", "NAME", "DESCRIPTION", "PRICE"
FROM "PRODUCTS"
WHERE CONTAINS("NAME", 'nexus') > 0;

但是我没有得到任何结果。当我更改nexusNexusor时,也会发生同样的事情Nexus 4。我认为这可能与name成为一个已解决的单词有关,但同样的事情也发生在description专栏上。

4

3 回答 3

0

如果您不使用混合/小写表和列名,则可以在查询中删除所有 " 字符...

于 2014-11-22T17:35:20.970 回答
0

原来这是因为我在同一张表上有两个文本索引,用于名称和描述。我删除了一个进行描述,它起作用了。

于 2014-11-14T23:17:20.467 回答
0

SELECT product_id, name, description, price FROM product WHERE CONTAINS(name, '%Nexus%') > 0;
于 2020-05-18T08:39:08.490 回答