如何为同一列更新许多具有不同值的行?
How can I update many rows with different values for the same column?
我有一个 table,其中有一列包含文件路径。该路径是绝对路径,此列的值如下所示:C:\CI\Media\animal.jpg
.
table 看起来是这样,只是行数很多,手工编辑不实用:
`+----+-----------------------------------+
| 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
,并结束table 看起来像这样:
`+----+---------------------------------------+
| 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
,同时保持其余部分值)而不是像普通更新那样将每一列设置为相同的值 table set column = value ?
天哪,你差点自己写代码了。
Update YourTable
set path = replace(path, 'C:\CI', 'C:\CI\Net')
我有一个 table,其中有一列包含文件路径。该路径是绝对路径,此列的值如下所示:C:\CI\Media\animal.jpg
.
table 看起来是这样,只是行数很多,手工编辑不实用:
`+----+-----------------------------------+
| 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
,并结束table 看起来像这样:
`+----+---------------------------------------+
| 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
,同时保持其余部分值)而不是像普通更新那样将每一列设置为相同的值 table set column = value ?
天哪,你差点自己写代码了。
Update YourTable
set path = replace(path, 'C:\CI', 'C:\CI\Net')