Redshift SQL有一种方法只能对具有数字和文本字符串混合的列中的数字条目求和

时间:2018-12-05 17:51:06

标签: sql amazon-redshift

我有一列my_column,其中包含数字和字符串

1,
2,
hi,
4,
hello

有没有办法只对redshift sql中此列的数值求和?

谢谢

2 个答案:

答案 0 :(得分:0)

根据

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

答案 1 :(得分:0)

不在主题之列,但是如果您在一列中混合了内容,那么您的数据模型和物理实施可能需要做一些工作。

如果您为CPU买单,我认为应该至少花一些精力来减少“解决”潜在的不良物理数据模型所花费的周期数。