You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PGSQL更新表数据时将下划线替换为斜杠的实现方法咨询

问题解答

是否可以在PGSQL中实现

该需求完全可以在PostgreSQL中实现,你目前编写的SQL语句存在问题:匹配到TREE开头的字段后会直接将值设为空字符串,会丢失原数据,无法完成替换需求。

正确实现方法

PostgreSQL内置的REPLACE函数可以直接完成字符串替换操作,更新语句如下:

UPDATE tree
SET value = REPLACE(value, '_', ' / ')
WHERE value LIKE 'TREE%';

语句说明

  • WHERE value LIKE 'TREE%' 子句先筛选出所有value以TREE开头的行,避免全表扫描和无关行的误修改
  • REPLACE(value, '_', ' / ') 会将每行value字段中所有的下划线_全局替换为/,完全匹配你给出的示例要求:

    原值TREE_2ED替换后为TREE / 2ED,原值TREE_2ED_CIN替换后为TREE / 2ED / CIN,符合预期需求

注意事项

执行更新操作前建议先执行查询语句验证替换结果是否符合预期,避免误改数据:

SELECT value, REPLACE(value, '_', ' / ') AS new_value
FROM tree
WHERE value LIKE 'TREE%';

如果你的场景中仅需要替换第一个下划线,不需要替换后续的下划线,可以使用REGEXP_REPLACE函数实现:

UPDATE tree
SET value = REGEXP_REPLACE(value, '_', ' / ')
WHERE value LIKE 'TREE%';

内容的提问来源于stack exchange,提问作者MasterSinge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 02:39:05