sql - 如何在 SQL Server 中用一个单词替换一列中的重复单词

标签 sql sql-server

我有几百万个与数据库中的文件路径相关的字符串; 由于第三方程序,这些路径已变得嵌套如下:

C:\files\thirdparty\thirdparty\thirdparty\thirdparty\thirdparty\thirdparty\unique_bit_here\

我想更新条目,以便 thirdparty\thirdparty\etc 变为 \thirdparty

我尝试过这段代码:

UPDATE table
SET Field = REPLACE(Field, 'tables\thirdparty\%thirdparty\%\', 'tables\thirdparty\')

最佳答案

WHILE EXISTS (SELECT * FROM table WHERE Field LIKE '%\thirdparty\thirdparty\%')
BEGIN
    UPDATE table SET Field = REPLACE(Field, '\thirdparty\thirdparty\', '\thirdparty\')
END

关于sql - 如何在 SQL Server 中用一个单词替换一列中的重复单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34608996/

相关文章:

sql - 可重复随机抽样SQL

mysql - SQL 和 DateTime - 如何选择在特定时间段内存在的所有行?

SQL Server 2005 group by 具有相同的列但不同的日期和时间?

sql-server - SQL Server FOR XML - 基本查询

c# - 安全漏洞 list

php - 如何在 PostgreSQL 中将空值转换为空值?

mysql - 对两个 case 表达式的乘法求和

sql - oracle中select语句中的子查询是如何工作的

SQLServer从子查询中获取前1行

asp.net - Entity Framework 查询第一次连接和执行需要很长时间