2016-12-24 2 views
0

После Regexp_replace должны быть преобразованы в Netezza Синтаксис:Преобразование Oracle функцию regexp_replace в Netezza

regexp_replace(COLUMN_NAME,'([[:cntrl:]])|(^\t)|(\s+$)',null) 

Из того, что я понимаю, cntrl заменяет управляющие символы ^\t заменяет вкладки \s+$ заменяет хвостовые пробелы

Пожалуйста Помогите! Пожалуйста, также исправьте мое понимание того, что это текущее регулярное выражение делает в оракуле.

+0

'^ \ t' заменяет только одну вкладку (а не« вкладки ») и только если это первый символ в строке (значение'^'). Это какой-то код, написанный кем-то другим, который вы хотите перевести на другой язык? Если вы не знаете, что он делает, зачем вам его переводить? – mathguy

+0

да! кто-то написал это. Мне нужно, потому что мне нужна точная функциональность в Netezza – user3197677

ответ

1

Вы почти правы.

([[:cntrl:]])|(^\t)|(\s+$) 
  1. [:cntrl:] — спички управляющие символы
  2. \t — матчей Вкладка
  3. ^\t в между выражениями — соответствует одной ^ и символ табуляции вместе
  4. [^\t] между выражениями — спичек без табуляций
  5. ^\t при старте — матчей ведущих символов табуляции
  6. \s+$ — спичек текст с конечными пробелами

эффективно, ваше выражение будет соответствовать - первый управляющий символ, ведущий вкладку или завершающие пробелы.

+0

спасибо! Что помогает. Любая информация о части Netezza Conversion? – user3197677

+0

Что такое синтаксис Netezza? Могу ли я добавить пример в вопрос – GurV

+0

Эта функция замены регулярных выражений не работает в netezza! Поэтому я хочу преобразовать его в функцию или набор функций, которые первыми заменяют такие же, как и в Netezza. Например: oracle: regexp_replace (столбец, 'a', 'A') netezza: translate (column, 'a', 'A') – user3197677

Смежные вопросы