【问题标题】:How can I update many rows with different values for the same column?如何为同一列更新具有不同值的多行?
【发布时间】:2019-03-08 06:13:37
【问题描述】:

我有一个表格,其中有一列包含文件的路径。路径是绝对路径,该列的值如下所示: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 ?

【问题讨论】:

    标签: sql-server sql-server-2014


    【解决方案1】:

    天哪,你差点自己写代码。

    Update YourTable
    set path = replace(path, 'C:\CI', 'C:\CI\Net')
    

    【讨论】:

    • 打败我。 +1 打字速度。
    猜你喜欢
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-24
    • 2019-07-19
    相关资源
    最近更新 更多