webentwicklung-frage-antwort-db.com.de

Wie aktualisiere ich den Feldwert einer bestimmten Spalte in SQL Server mit Query in einem Schritt?

Ich habe das Datenformular XLS meines CMS importiert. aber endlich erkennen, dass es falsche Daten ohne Erweiterung am Ende der Daten hat, in einer der Spalten der Tabelle, so dass ich jetzt die Spaltendaten mehrerer Zeilen basierend auf einer bestimmten ID ändern möchte? Wie geht das mit einer einzigen SQL-Abfrage?

Ich möchte einfach am Ende ".jpg" zu diesen Daten hinzufügen.

Bild AspxCommerce Error

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

Probier diese -

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

Versuchen:

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

Laut Ihrem Screenshot enden einige Einträge tatsächlich mit .jpg. Wenn Sie .jpg nur dort anhängen möchten, wo es fehlt, können Sie ein NOT LIKE-Prädikat verwenden:

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

Dies verhindert auch, dass Sie die Erweiterung mehrmals hinzufügen, wenn Sie die Abfrage versehentlich erneut ausführen.

3
Andriy M

Die obigen Antworten sind korrekt, aber das Hinzufügen von 2 Zeichenfolgen ergibt 0, Sie müssen zwei Zeichenfolgen zusammenfügen.

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