テキスト検索のドットとワイルドカード文字を組み合わせて使用すると、照会で一致する行が見つかりません。例えばワイルドカードとドットがOracleテキスト索引と一致しない問合せ
:
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
私はなぜオラクルによればドットがエスケープされなければならない特殊文字ではないので、私は理解していない。
どのようにこの状況を処理する必要がありますか?
最初のデータと一致するデータは何ですか、2番目のデータと一致しません。 – Nivas
クエリの実行中のサンプル入力データと期待される結果を表示してください。 – OldProgrammer
'.1234 'で終わる' text'の値はありません。 –