Redshift SQL - это способ суммировать только числовые записи из столбца, который содержит смесь чисел и текстовых строк - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть столбец my_column, который содержит смесь чисел и строк

1,
2,
hi,
4,
hello

есть ли способ суммировать только числовые значения этого столбца в красное смещение sql?

Спасибо

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Не по теме, но если у вас есть смешанный контент в столбце, скорее всего, ваша модель данных и физическая реализация требуют некоторой работы.

Если вы платите за процессор, вы должны, по моему мнению, приложить хотя бы некоторые усилия для сокращения количества циклов, затрачиваемых на «обход» потенциально плохой физической модели данных.

0 голосов
/ 05 декабря 2018

Согласно

https://blog.fishtownanalytics.com/how-to-safely-convert-strings-to-integers-in-redshift-a4d7aa39c70

Должно работать следующее:

SELECT SUM(
    case
      when trim(my_column) ~ '^[0-9]+$' then trim(my_column)
      else null 
    end::int
  ) sum_ints
FROM
  my_table
...