【发布时间】:2018-12-06 02:59:21
【问题描述】:
我有一个列 my_column 混合了数字和字符串
1,
2,
hi,
4,
hello
有没有办法只对redshift sql中该列的数值求和?
谢谢
【问题讨论】:
标签: sql amazon-redshift
我有一个列 my_column 混合了数字和字符串
1,
2,
hi,
4,
hello
有没有办法只对redshift sql中该列的数值求和?
谢谢
【问题讨论】:
标签: sql amazon-redshift
根据
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
【讨论】:
题外话,但如果您的列中有混合内容,那么您的数据模型和物理实现可能需要一些工作。
如果您为 cpu 付费,在我看来,您应该至少投入一些精力来减少“解决”可能较差的物理数据模型所花费的周期数。
【讨论】: