【发布时间】:2013-05-22 06:52:13
【问题描述】:
我已在我的 CMS 中导入数据表单 XLS。但终于意识到它有错误的数据,在数据的末尾没有任何扩展名,在表的一列中,所以现在我想根据特定的ID更改多行的列数据?如何使用单个 SQL 查询来做到这一点?
我只想在这些数据的末尾添加“.jpg”。
图片
【问题讨论】:
标签: sql-server sql-server-2008 sql-server-2005
我已在我的 CMS 中导入数据表单 XLS。但终于意识到它有错误的数据,在数据的末尾没有任何扩展名,在表的一列中,所以现在我想根据特定的ID更改多行的列数据?如何使用单个 SQL 查询来做到这一点?
我只想在这些数据的末尾添加“.jpg”。
图片
【问题讨论】:
标签: sql-server sql-server-2008 sql-server-2005
UPDATE a
SET a.Imagepath = a.ImagePath + '.jpg'
FROM aspx_itemimages a
WHERE a.ItemId = yourid
【讨论】:
试试这个 -
UPDATE aspx_itemimages
SET ImagePath = ImagePath + '.jpg'
--WHERE itemid = 755
【讨论】:
试试:
UPDATE ImagePath SET ImagePath = ImagePath + '.jpg'
【讨论】:
根据您的屏幕截图,某些条目实际上确实以.jpg 结尾。如果您只想在不存在的地方附加.jpg,您可以使用NOT LIKE 谓词:
UPDATE aspx_itemimages
SET ImagePath = ImagePath + '.jpg'
WHERE ImagePath NOT LIKE '%.jpg'
;
如果您不小心再次运行查询,这也会阻止您多次添加扩展。
【讨论】:
上面的答案是正确的,但是添加 2 个字符串返回 0,你必须连接两个字符串。 这是一个例子:
UPDATE a
SET a.Imagepath = concat(ImagePath , '.jpg')
FROM aspx_itemimages a
WHERE a.ItemId = yourid
【讨论】:
最好和最简单的方法...
"UPDATE aspx_itemimages
SET itempath = itempath +'.jpg'
WHERE itemid = 755 ";
注意:更新不会生成结果集。如果您想知道哪些记录将被修改,请首先运行使用相同条件的Select 查询。如果结果为satisfactory,则运行更新查询。
【讨论】: