SQL如何更新表字段,将字段内所有/字符替换为//
问题原因
你当前编写的SQL逻辑是直接在Address字段的开头拼接一个/,自然只能实现字段开头新增/的效果,无法替换字段内所有出现的目标字符,且语句中的update table没有指定实际表名,也会触发语法错误。
正确SQL写法
主流关系型数据库(MySQL、SQL Server、PostgreSQL、SQLite、Oracle等)均支持REPLACE字符串替换函数,可直接实现需求:
UPDATE Table1 SET Address = REPLACE(Address, '/', '//') WHERE Address LIKE '%/%';
逻辑说明
REPLACE(Address, '/', '//')会遍历Address字段的全部内容,将所有出现的/替换为//,符合你要在每个/位置额外新增一个相同字符的需求WHERE Address LIKE '%/%'用于过滤不含/的记录,避免执行无效更新操作
内容的提问来源于stack exchange,提问作者user406480
相关产品推荐
相关产品推荐

