java和postgresql替换多种空白字符(包括制表符、换行、空格等):

 替换多种空白字符(包括制表符、换行、空格等):

java 复制代码
// 替换所有空白字符为空
String cleanStr = input.replaceAll("\\s+", "");

// 替换所有空白字符为空格
String replaceWithSpace = input.replaceAll("\\s+", " ");
  1. 查询model_engineering_param_scheme_val 表中 psc_id = 40 且 pm_val 字段包含空格的数据;
  2. 并执行 UPDATE 语句,将这些记录的 pm_val 中的所有空格删除(替换为空字符串)。
    ✅ 第一步:查看哪些数据包含空格你可以先用 SELECT 确认目标数据:
java 复制代码
SELECT *
FROM model_engineering_param_scheme_val
WHERE psc_id = 40
  AND pm_val LIKE '% %'
ORDER BY pm_val ASC;

这个语句会列出所有 psc_id = 40 且 pm_val 包含至少一个空格的记录。

✅ 第二步:更新字段,去除所有空格使用 SQL 的 REPLACE() 函数来去掉 pm_val 中的所有空格:🔧 MySQL / SQL Server / MariaDB 支持语法:

java 复制代码
UPDATE model_engineering_param_scheme_val
SET pm_val = REPLACE(pm_val, ' ', '')
WHERE psc_id = 40
  AND pm_val LIKE '% %';

✅ 如果你还想去除其他空白字符(如制表符 \t、换行符等)可以使用正则表达式(仅限支持正则替换的数据库,例如 PostgreSQL 或 MySQL 8.0+):

🟢 MySQL 8.0+ 使用正则替换(REGEXP_REPLACE):

sql 复制代码
UPDATE model_engineering_param_scheme_val
SET pm_val = REGEXP_REPLACE(pm_val, '[[:space:]]', '')
WHERE psc_id = 40
  AND pm_val REGEXP ' ';

这会删除 pm_val 中所有的空白字符(包括空格、Tab、换行等)。

✅ PostgreSQL 示例:

sql 复制代码
UPDATE model_engineering_param_scheme_val
SET pm_val = regexp_replace(pm_val, '\s+', '', 'g')
WHERE psc_id = 40
  AND pm_val ~ ' ';

✅ 温馨提示

•✅ 建议在执行 UPDATE 之前对数据进行备份。

•✅ 可以先运行 SELECT * FROM ... WHERE psc_id = 40 AND pm_val LIKE '% %' 查看影响范围。

•✅ 如果字段中还有中文空格(全角空格 ),也需要单独处理:

-- 同时去除半角和全角空格

sql 复制代码
UPDATE model_engineering_param_scheme_val
SET pm_val = REPLACE(REPLACE(pm_val, ' ', ''), ' ', '')
WHERE psc_id = 40
  AND pm_val LIKE '% %';
相关推荐
雨中飘荡的记忆1 小时前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
心之语歌3 小时前
基于注解+拦截器的API动态路由实现方案
java·后端
赵渝强老师4 小时前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
华仔啊5 小时前
Stream 代码越写越难看?JDFrame 让 Java 逻辑回归优雅
java·后端
ray_liang5 小时前
用六边形架构与整洁架构对比是伪命题?
java·架构
Ray Liang6 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
Java水解6 小时前
Java 中间件:Dubbo 服务降级(Mock 机制)
java·后端
SimonKing10 小时前
OpenCode AI辅助编程,不一样的编程思路,不写一行代码
java·后端·程序员
FastBean11 小时前
Jackson View Extension Spring Boot Starter
java·后端
Seven9712 小时前
剑指offer-79、最⻓不含重复字符的⼦字符串
java