Удалить межпунктурные символы

Я ищу способ удалить интерпунктировку в varchar2. Это означает, что я хочу получить «Мариан» от «Мариана» и «Черницкого» от «Черницкого». Спасибо за любую помощь или предложение Ондрей.


person ondro tadanai    schedule 13.02.2013    source источник


Ответы (1)


with x as (
  select 'Černický' name from dual union all
  select 'Marián' from dual
)
select convert(name, 'US7ASCII')  
  from x;

будет работать для любого имени, где в наборе символов US7ASCII есть соответствующий символ замены для рассматриваемого символа. Это не обязательно относится ко всем возможным символам — Õ и Ø, например, оба будут преобразованы в вопросительный знак (?). Но это работает для обоих ваших примеров.

person Justin Cave    schedule 13.02.2013
comment
И ведь ваша кодировка работает на всех символах с интерпунктацией на моем языке (словацком) - person ondro tadanai; 14.02.2013