1

テキスト検索でワイルドカード文字をドットと組み合わせて使用​​すると、クエリで一致する行が見つかりません。

例えば:

CREATE TABLE MY_TABLE( ITEM_NUMBER VARCHAR2(50 BYTE) NOT NULL);
INSERT INTO MY_TABLE (ITEM_NUMBER) VALUES ('1234.1234');
create index TIX_ITEMNO on MY_TABLE(ITEM_NUMBER) indextype is ctxsys.context;

ITEM_NUMBER列が「1234.1234」であるMY_TABLEの行を見つけたい

これは行を見つけます:

SELECT * FROM MY_TABLE
WHERE CONTAINS(ITEM_NUMBER, '%1234') > 0

これは行を見つけません:

SELECT * FROM MY_TABLE
WHERE CONTAINS(ITEM_NUMBER, '%.1234') > 0

オラクルによれば、ドットはエスケープする必要がある特殊文字ではないため、その理由はわかりません。

この状況をどのように処理する必要がありますか?

4

2 に答える 2

0

欲しかったと思います

SELECT * FROM MY_TABLE
WHERE ITEM_NUMBER like '%.1234'
于 2016-06-17T16:16:15.280 に答える