pg 怎么获取这个字符串"集团提供清单出账金额"后的800.0,例如{"账期":"202212","集团提供清单出账金额":"800.0"}
时间: 2023-07-08 13:46:39 浏览: 40
假设该字段名为 `field_name`,你可以使用 PostgreSQL 中的内置函数 `substring` 和 `position` 来获取字符串中的数值。
具体的查询语句如下:
```sql
SELECT substring(field_name, position('集团提供清单出账金额' IN field_name) + length('集团提供清单出账金额') + 3, position('"' IN substring(field_name, position('集团提供清单出账金额' IN field_name) + length('集团提供清单出账金额') + 3)) - 1) AS amount
```
这个查询语句使用了 `position` 函数来查找字符串 `"集团提供清单出账金额"` 在 `field_name` 字段中的位置,然后使用 `substring` 函数来提取该字符串后面的数值。与前面的查询语句不同的是,这里还使用了一个 `position` 函数来查找数值中第一个双引号的位置,以确定数值的结束位置。
`substring` 函数的第一个参数是需要截取的字符串,第二个参数是从哪个位置开始截取,第三个参数是截取的长度。在这个例子中,我们使用 `position` 函数找到了字符串 `"集团提供清单出账金额"` 在 `field_name` 中的位置,然后加上 `"集团提供清单出账金额"` 的长度和 3,即可得到数值的起始位置。然后,我们使用第二个 `position` 函数找到数值中第一个双引号的位置,并将其减去起始位置再减去 1,即可得到数值的长度。最后,我们将这个长度作为 `substring` 函数的第三个参数,即可提取数值。
注意,这个查询语句假定数值是以双引号开头和结尾的,如果你的数据中数值的格式不同,你需要对查询语句进行修改以适应不同的格式。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)