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

如何在PostgreSQL中调整字段文本词语顺序并执行更新操作?

反转name字段格式的UPDATE操作实现

针对你需要将name字段从「X, Y」格式转换为「Y X」格式的需求,以下是主流数据库对应的UPDATE语句,记得替换语句中的your_table_name为你的实际表名:

MySQL/MariaDB

利用SUBSTRING_INDEX分割字符串,配合TRIM去除多余空格后拼接:

UPDATE your_table_name
SET name = CONCAT(TRIM(SUBSTRING_INDEX(name, ',', -1)), ' ', TRIM(SUBSTRING_INDEX(name, ',', 1)))
WHERE name LIKE '%, %'; -- 仅更新符合「内容, 内容」格式的记录,避免误改

PostgreSQL

使用split_part分割字符串,再拼接调整后的内容:

UPDATE your_table_name
SET name = TRIM(split_part(name, ',', 2)) || ' ' || TRIM(split_part(name, ',', 1))
WHERE name LIKE '%, %';

SQL Server

通过CHARINDEX定位逗号位置,结合SUBSTRING截取前后部分,再拼接:

UPDATE your_table_name
SET name = LTRIM(RTRIM(SUBSTRING(name, CHARINDEX(',', name) + 1, LEN(name)))) + ' ' + LTRIM(RTRIM(SUBSTRING(name, 1, CHARINDEX(',', name) - 1)))
WHERE name LIKE '%, %';

注意事项

  • 执行UPDATE前建议先运行对应的SELECT语句验证结果,比如MySQL可以先执行:
    SELECT 
      name,
      CONCAT(TRIM(SUBSTRING_INDEX(name, ',', -1)), ' ', TRIM(SUBSTRING_INDEX(name, ',', 1))) AS new_name
    FROM your_table_name
    WHERE name LIKE '%, %';
    
    确认转换结果正确后再执行UPDATE,避免数据错误。
  • WHERE条件是可选的,但加上可以只处理符合目标格式的记录,防止误更新其他格式的name值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 09:06:21