我有一个表,该表的列包含文件的路径。该路径是绝对路径,该列的值如下所示:C:\CI\Media\animal.jpg
。
该表看起来像这样,除了有很多行,所以手动编辑是不实际的:
`+----+-----------------------------------+
| ID | Path |
+----+-----------------------------------+
| 1 | C:\CI\Media\sushi.jpg |
| 2 | C:\CI\Media\animal.jpg |
| 3 | C:\CI\Media\Tuscany Trip\pisa.png |
+----+-----------------------------------+`
路径是nvarchar(260)
我想做的是运行一个查询,该查询将更新每个记录,以便每个记录的路径将C:\CI\
替换为C:\CI\Net
,最后得到一个看起来像这样的表所以:
`+----+---------------------------------------+
| ID | Path |
+----+---------------------------------------+
| 1 | C:\CI\Net\Media\sushi.jpg |
| 2 | C:\CI\Net\Media\animal.jpg |
| 3 | C:\CI\Net\Media\Tuscany Trip\pisa.png |
+----+---------------------------------------+`
是否有一种格式化查询的格式,该查询将更新每条记录,但会根据现有值进行更新(将每条记录的C:\CI
部分替换为C:\CI\Net
,同时保留其余的值),而不是像正常的更新表一样将每列设置为相同的值set column = value?
答案 0 :(得分:5)
天哪,您几乎自己编写了代码。
Update YourTable
set path = replace(path, 'C:\CI', 'C:\CI\Net')