首页 > 解决方案 > 如何在postgresql中计算字符串中的数字总和

问题描述

1^1^1^5^1|1^1|1^1

有没有一种简单的方法可以在 postgresql 中添加所有上述数字。我想写一个函数,接受上面的字符串并输出 13。

标签: stringpostgresql

解决方案


您可以使用该功能regexp_split_to_table

SELECT sum(s::int) 
  FROM regexp_split_to_table('1^1^1^5^1|1^1|1^1','\D') as s

在这里,您使用正则表达式\D拆分所有不是数字的内容,留下数字(阅读有关postgres regex的更多信息),然后将其作为整数求和。


推荐阅读