Немного новичок в сценариях Unix и командах Oracle, так что будьте проще...
У меня есть поле, которое заполняется неправильными символами, особенно chr(191) 'inverted? знак'..
У меня был этот пример кода
UPDATE rc.rc_descripton
SET desc_description =
(
CASE
WHEN desc_description LIKE '%[^a-zA-Z0-9]%'
THEN Replace(REPLACE( desc_description, SUBSTRING( desc_description, PATINDEX('%[~,@,#,$,%,&,*,^,&,%,*,(,)]%', desc_description), 1 ),''),'-',' ')
ELSE desc_description
END
)
Хотя моя исходная команда UPDATE была: -
UPDATE rc.rc_description
SET desc_description = REPLACE(desc_description, CHR(191), ' ')
WHERE desc_description LIKE '%' || CHR(191) || '%'
Я хочу включить приведенный выше код в основной пример кода, который я разместил выше.
Я нашел unix-скрипт, который использовался ранее:
# Replace offending characters with the intending/valid characters
sed s/–/-/g $1 | sed s/’/\'/g | sed s/‘/\'/g | sed s//\'/g | sed s//\'/g | sed s//\"/g | sed s//\"/g | sed s/“/\"/g | sed s/”/\"/g | sed s/—/-/g | sed s//-/g | sed s/…/.../g | sed s/‑/-/g | sed 's/½/1\/2/g' | sed 's/¼/1\/4/g' | sed 's/¾/3\/4/g' | sed 's/· //g' | sed s/°/./g | sed s/•/*/g | sed s/ //g > $1.out
Но я не могу перевести код unix в команду обновления Oracle.
пожалуйста, сообщите о правильной команде UPDATE, чтобы удовлетворить весь набор специальных символов, как указано выше, а также принять во внимание CHR (191) ...
с уважением, А.Б.
” “ ’ ‘
, в сохраненной строке, и ваш клиент не знает, как их отображать, что обычно является проблемой настроек. - person Alex Poole   schedule 13.01.2016