CMSにデータフォームXLSをインポートしました。しかし、最後に、テーブルの列の1つで、データの最後に拡張子のない間違ったデータがあることに気付きました。そこで、特定のIDに基づいて複数の行の列データを変更したいですか?単一のSQLクエリを使用してそれを行う方法は?
これらのデータの最後に「.jpg」を追加したいだけです。
画像
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が返されるため、2つの文字列を連結する必要があります。以下に例を示します。
UPDATE a
SET a.Imagepath = concat(ImagePath , '.jpg')
FROM aspx_itemimages a
WHERE a.ItemId = yourid