Использование нескольких условий замены для одного столбца в Amazon Redshift - PullRequest
1 голос
/ 10 июня 2019

У меня есть таблица, в которой есть столбец суммы, и знак $, например: $ 8,122.14 в качестве значений.Я хочу написать функцию замены, чтобы заменить $ и, по этому столбцу за один раз.Есть ли способ написать несколько условий в одной замене в Redshift?Кроме того, это не относится к последующей обработке данных, когда я вставляю данные из таблицы этапов в итоговую таблицу после замены этих значений.

Я пробовал способы, перечисленные в дубле 1 и 2, приведенном в коде, но обаиз них не удалось.

Взять 1: вставить в db.stage_table select (coalesce (replace (logging_amount, '$', ','), ''))) как logging_amount из db.table;

Взять 2: вставить в db.stage_table select (coalesce (replace (logging_amount, '$', ',')) как logging_amount из db.table;

Обе из них не удалось.

Ожидаемый результат должен заменить функцию в одном выражении.

1 Ответ

2 голосов
/ 10 июня 2019

Да, вы можете вкладывать операторы замены, подобные этому

replace(replace(logging_amount,'$',''),',','')

Или вы можете использовать регулярные выражения, если хотите (лично для чего-то подобного я думаю, что вложенные замены легче читать.)

...