Imb*_*joe 0 sql-server sql-server-2014
我有一个表,其中的列包含文件的路径。该路径是绝对路径,该列的值如下所示: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 |
+----+-----------------------------------+`
Run Code Online (Sandbox Code Playgroud)
路径是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 |
+----+---------------------------------------+`
Run Code Online (Sandbox Code Playgroud)
有没有一种格式化查询的格式,该查询将更新每条记录,但会根据现有值进行更新(用每条记录替换该C:\CI部分,C:\CI\Net同时保留其余值),而不是将每列设置为相同的值,例如正常更新表设置列=值?
天哪,您几乎自己编写了代码。
Update YourTable
set path = replace(path, 'C:\CI', 'C:\CI\Net')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29 次 |
| 最近记录: |