Поиск неизвестных символов в базе данных Oracle - PullRequest
0 голосов
/ 20 января 2012

Есть ли способ поиска в базе данных Oracle (какое-то регулярное выражение, я подозреваю), чтобы найти неизвестные символы (которые часто отображаются как □ □)?

Ответы [ 2 ]

0 голосов
/ 20 января 2012

Попробуйте что-то вроде этого:

select co11, ...
from tab1
where col1 like '%'||chr(9)||'%'  -- ascii code for tab
   or col1 like '%'||chr(20)||'%' -- ascii code for newline
--...
;
0 голосов
/ 20 января 2012

Не существует стандартного способа поиска по всей базе данных Oracle.Вам понадобится утомительный скрипт, который просматривает различные типы объектов Oracle в dba_objects, а затем опускается в каждый (для тривиального примера, если объект представляет собой таблицу, вам нужно проанализировать столбцы, а если столбец содержит символьные данные, REGEXP_LIKE; но есть и другие типы объектов, например, пакет - хотите ли вы искать литералы пакета тоже?).Вместо этого я бы сделал вручную явный список запросов к таблицам и столбцам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...