替换多种空白字符(包括制表符、换行、空格等):
// 替换所有空白字符为空
String cleanStr = input.replaceAll("\\s+", "");
// 替换所有空白字符为空格
String replaceWithSpace = input.replaceAll("\\s+", " ");
- 查询model_engineering_param_scheme_val 表中 psc_id = 40 且 pm_val 字段包含空格的数据;
- 并执行 UPDATE 语句,将这些记录的 pm_val 中的所有空格删除(替换为空字符串)。
✅ 第一步:查看哪些数据包含空格你可以先用 SELECT 确认目标数据:
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 支持语法:
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):
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 示例:
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 ‘% %’ 查看影响范围。
•✅ 如果字段中还有中文空格(全角空格 ),也需要单独处理:
– 同时去除半角和全角空格
UPDATE model_engineering_param_scheme_val
SET pm_val = REPLACE(REPLACE(pm_val, ' ', ''), ' ', '')
WHERE psc_id = 40
AND pm_val LIKE '% %';