String 如何在postgresql中计算字符串中的数字之和
有没有一种简单的方法可以在postgresql中添加上述所有数字。我想编写一个函数,它接受上述字符串并输出13。如果您使用的是Postgre 9.3或更高版本,这里有一个选项:String 如何在postgresql中计算字符串中的数字之和,string,postgresql,String,Postgresql,有没有一种简单的方法可以在postgresql中添加上述所有数字。我想编写一个函数,它接受上述字符串并输出13。如果您使用的是Postgre 9.3或更高版本,这里有一个选项: 1^1^1^5^1|1^1|1^1 但更好的长期解决办法是避免这种SQL奥运会,而是规范化数据。理想情况下,您要求和的每个数字都应该在一个单独的记录中,这就是上面的查询生成总和的实际操作。如果您使用的是Postgre 9.3或更高版本,这里有一个选项: 1^1^1^5^1|1^1|1^1 但更好的长期解决办法是避
1^1^1^5^1|1^1|1^1
但更好的长期解决办法是避免这种SQL奥运会,而是规范化数据。理想情况下,您要求和的每个数字都应该在一个单独的记录中,这就是上面的查询生成总和的实际操作。如果您使用的是Postgre 9.3或更高版本,这里有一个选项:
1^1^1^5^1|1^1|1^1
但更好的长期解决办法是避免这种SQL奥运会,而是规范化数据。理想情况下,要求和的每个数字都应该在一个单独的记录中,这就是上面的查询生成求和的实际操作。您可以使用该函数
在这里,您可以使用正则表达式
\D
对不是一个数字的所有内容进行拆分,留下数字(阅读更多信息),然后将其作为整数求和。您可以使用该函数
在这里,您可以使用正则表达式\D
对不是一个数字的所有内容进行拆分,留下数字(阅读更多信息),然后将其作为整数求和
SELECT sum(s::int)
FROM regexp_split_to_table('1^1^1^5^1|1^1|1^1','\D') as s