Oracle: найти и заменить html-сущности в поле varchar - PullRequest
1 голос
/ 09 декабря 2011

Я пытаюсь найти html-сущности (например, ü) в поле varchar:

set define off;
SELECT description FROM descriptions WHERE contains(description, 'ü') > 0;
SELECT description FROM descriptions WHERE contains(description, '&uuml') > 0;
SELECT description FROM descriptions WHERE contains(description, '%uuml%') > 0;

set define off;
set escape on;
SELECT description FROM descriptions WHERE contains(description, '\ü') > 0;
SELECT description FROM descriptions WHERE contains(description, '\&uuml') > 0;
SELECT description FROM descriptions WHERE contains(description, '\&uuml\;') > 0;

Ни один запрос не работает, хотя есть много потенциальных результатов.Есть идеи?Большое спасибо!

1 Ответ

1 голос
/ 09 декабря 2011

Вы определили индекс Oracle Text для description?Если да, то как вы определили этот индекс?Вы повторно синхронизировали индекс после загрузки данных?

Если вы используете INSTR вместо CONTAINS, вы получите результаты?

SELECT description 
  FROM descriptions 
 WHERE instr(description, 'ü') > 0;
...