string - 如何在postgresql中计算字符串中的数字总和
问题描述
1^1^1^5^1|1^1|1^1
有没有一种简单的方法可以在 postgresql 中添加所有上述数字。我想写一个函数,接受上面的字符串并输出 13。
解决方案
您可以使用该功能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的更多信息),然后将其作为整数求和。
推荐阅读
- elasticsearch-5 - IOException[当前令牌 (START_OBJECT) 不是数字,不能使用数值访问器
- apache-spark - 用于执行火花作业的 Oozie 工作流
- postgresql - 我能以某种方式检测到新语句已经开始吗
- r - 使用 any() 与 | 在 dplyr::mutate
- php - 我错过了什么吗?通过 Xammp 连接 PHP MYSQL
- javascript - 即使我将脚本标记放在正文标记的结尾上方,页面也仅在单击弹出窗口后才加载
- java - 如何保存 ArrayList
到Android中的文件? - ios - 快速获取文本框坐标
- laravel-5 - 如何提高 Laravel 的迁移和播种速度?
- ruby-on-rails - 在 Rails 中重载数据类型渲染