单条查询批量更新表中文件路径列:Replace函数可行性与语法
批量更新文件路径列的解决方案
用REPLACE函数完全可以满足你的需求,直接将路径中的\test\替换为\temp\即可,以下是常用数据库的语法示例:
不同数据库的更新语句
MySQL/MariaDB
UPDATE 你的表名 SET 路径列名 = REPLACE(路径列名, 'E:\\test\\', 'E:\\temp\\');
注:MySQL中反斜杠是转义字符,需用两个
\\表示实际的一个\
SQL Server
UPDATE 你的表名 SET 路径列名 = REPLACE(路径列名, 'E:\test\', 'E:\temp\');
Oracle
UPDATE 你的表名 SET 路径列名 = REPLACE(路径列名, 'E:\test\', 'E:\temp\');
重要注意事项
- 先测试再执行:执行更新前,建议先通过
SELECT语句验证替换结果是否正确,避免误操作:
SELECT 路径列名, REPLACE(路径列名, 'E:\\test\\', 'E:\\temp\\') AS 新路径 FROM 你的表名;
- 精准替换场景:如果路径中可能存在多个
test字符串,只想替换开头的E:\test\部分,可以用字符串截取拼接的方式:
UPDATE 你的表名 SET 路径列名 = CONCAT('E:\temp\', SUBSTRING(路径列名, LENGTH('E:\test\') + 1));
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

