Убрать запятую в числе в Redshift - PullRequest
0 голосов
/ 14 февраля 2019

Мои данные содержат такие числа, как 100 000,89 и так далее.Какую функцию я должен использовать в Redshift, чтобы убрать запятую и оставить ее как 100000.89?Пишем ли мы функцию при создании таблицы, поскольку она находится на уровне столбца или после ее создания, а затем выполняем последующую обработку таблицы?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Я просто добавил все столбцы в моем запросе вставки с coalesce, так как все они где-то имели нулевые значения, и это работало как шарм.Ошибка красного смещения для отсутствующих данных в ненулевых полях вводит в заблуждение, как упоминалось: https://forums.aws.amazon.com/thread.jspa?threadID=119640 Я также изменил свою команду копирования и добавил BLANKSASNULL.Это сработало!Спасибо за вашу помощь.Ниже моя команда: insert into test.t_final (select coalesce(project_number) as project_number, coalesce(contract_po) as contract_po, coalesce(tracking_date) as tracking_date, (coalesce(replace(amount,',',''))) as amount, (coalesce(replace(tax,',',''))) as tax, (coalesce(replace(contract_value,',',''))) as contract_value, coalesce(comments) from test.t)

0 голосов
/ 14 февраля 2019

Чтобы удалить запятые из текста столбцов, используйте replace():

select replace(col, ',', '')
from t

РЕДАКТИРОВАТЬ: В случае null данных используйте coalesce():

select coalesce(replace(col,',', ''), '')
from t
...