postgresql - 如何在 PostgreSQL 的列中删除“,”之后的所有内容
问题描述
我有一个包含地址的列的表。我想删除,
字符串中的所有内容。我该如何在 PostgreSQL 中做到这一点?
我尝试过使用REPLACE
,但这仅适用于特定字符串,这是一个问题,因为列中的每一行都有不同的地址。
SELECT *
FROM address_book
r_name r_address
xxx 123 XYZ st., City, Zipcode
yyy 333 abc road, City, Zipcode
zzz 222 qwe blvd, City, Zipcode
我需要列r_address
只返回:
123 XYZ st.
333 abc road
222 qwe blvs
解决方案
使用该split_part
函数,如下所示:
SELECT r_name, split_part(r_address, ',', 1) AS street
FROM address_book
文档:https ://www.postgresql.org/docs/current/functions-string.html
推荐阅读
- python - Python :concurrent.futures 多次执行整个代码,而不是在 Executor.submit() 中调用的函数
- string - laravel-用字符串连接对象类名
- python - 将变量从类方法函数调用到普通方法
- android - 如何在现有方法中添加一些生成的代码
- ios - 我可以从后台线程调用或运行 Core Data Main Context (viewContext) 吗?
- node.js - 我们如何使用 mongoDB 配置解析服务器?
- java - 使用流 API 分组时多个组中的单个元素
- python - 在 PyQt 中绘制具有高度和降低效果的 3D 矩形/多边形
- sql - 更新表中的值
- c# - 如何在表格 1 中设置数组中的值并将它们发送到表格 2?