web-dev-qa-db-fra.com

Comment mettre à jour la valeur de champ de la colonne spécifique dans SQL Server en utilisant Query in one shot?

J'ai importé le formulaire de données XLS dans mon CMS. mais finalement se rendre compte qu'il a de mauvaises données sans aucune extension à la fin des données, dans l'une des colonnes de la table, alors maintenant je veux changer les données de colonne de plusieurs lignes en fonction d'un ID spécifique? Comment faire cela en utilisant une seule requête SQL?

Je veux juste ajouter ".jpg" à la fin de ces données.

Image AspxCommerce Error

16
Milson
UPDATE a
SET a.Imagepath = a.ImagePath + '.jpg'
FROM aspx_itemimages a
WHERE a.ItemId = yourid
14
Andrey Gordeev

Essaye celui-là -

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

Essayer:

UPDATE ImagePath SET ImagePath = ImagePath + '.jpg'
4
Shree

Selon votre capture d'écran, certaines entrées se terminent par .jpg. Si vous souhaitez ajouter .jpg uniquement là où il est absent, vous pouvez utiliser un prédicat NOT LIKE:

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

Cela vous évitera également d'ajouter l'extension plusieurs fois si vous exécutez à nouveau la requête accidentellement.

3
Andriy M

Les réponses ci-dessus sont correctes mais l’ajout de 2 chaînes retourne 0, vous devrez concaténer deux chaînes . Voici l’exemple:

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