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 '% %';
相关推荐
小羊没烦恼!2 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里2 天前
java中的继承和多态的区别
java
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕2 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码2 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖2 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时2 天前
01-06-A-JVM排查实战详解
java·jvm
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
vipxieliang2 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
C语言小火车2 天前
C/C++ 为什么需要编译器?
开发语言·c++