【问题标题】:How to update the field value of specific's column in SQL Server using Query in one shot?如何使用 Query 一次性更新 SQL Server 中特定列的字段值?
【发布时间】:2013-05-22 06:52:13
【问题描述】:

我已在我的 CMS 中导入数据表单 XLS。但终于意识到它有错误的数据,在数据的末尾没有任何扩展名,在表的一列中,所以现在我想根据特定的ID更改多行的列数据?如何使用单个 SQL 查询来做到这一点?

我只想在这些数据的末尾添加“.jpg”。

图片

【问题讨论】:

    标签: sql-server sql-server-2008 sql-server-2005


    【解决方案1】:
    UPDATE a
    SET a.Imagepath = a.ImagePath + '.jpg'
    FROM aspx_itemimages a
    WHERE a.ItemId = yourid
    

    【讨论】:

      【解决方案2】:

      试试这个 -

      UPDATE aspx_itemimages
      SET ImagePath = ImagePath + '.jpg'
      --WHERE itemid = 755
      

      【讨论】:

        【解决方案3】:

        试试:

        UPDATE ImagePath SET ImagePath = ImagePath + '.jpg'
        

        【讨论】:

          【解决方案4】:

          根据您的屏幕截图,某些条目实际上确实以.jpg 结尾。如果您只想在不存在的地方附加.jpg,您可以使用NOT LIKE 谓词:

          UPDATE  aspx_itemimages
          SET     ImagePath = ImagePath + '.jpg'
          WHERE   ImagePath NOT LIKE '%.jpg'
          ;
          

          如果您不小心再次运行查询,这也会阻止您多次添加扩展。

          【讨论】:

            【解决方案5】:

            上面的答案是正确的,但是添加 2 个字符串返回 0,你必须连接两个字符串。 这是一个例子:

            UPDATE a
            SET a.Imagepath = concat(ImagePath , '.jpg')
            FROM aspx_itemimages a
            WHERE a.ItemId = yourid
            

            【讨论】:

              【解决方案6】:

              最好和最简单的方法...

              "UPDATE aspx_itemimages
               SET itempath = itempath +'.jpg'
               WHERE itemid = 755 "; 
              

              注意:更新不会生成结果集。如果您想知道哪些记录将被修改,请首先运行使用相同条件的Select 查询。如果结果为satisfactory,则运行更新查询。

              【讨论】:

              • 这与一年前发布的答案有何不同?
              猜你喜欢
              • 2013-06-22
              • 2012-08-07
              • 2012-01-23
              • 2013-08-09
              • 1970-01-01
              • 2018-08-31
              • 2012-03-04
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多