SQL Tabelle - Werte bearbeiten
Hallo Gemeinschaft
habe eine Tabelle, die so aussieht
meta_id___post_id____meta_key___________________meta_value
38144_____2147_______price_______________________47.243
41456_____2305________payment_method_title___Rechnung
usw.
nun möchte ich bei allen Einträgen meta_key=price, dass die Nachkommastellen aus 2 Stellen gekürzt wird
habe eine Tabelle, die so aussieht
meta_id___post_id____meta_key___________________meta_value
38144_____2147_______price_______________________47.243
41456_____2305________payment_method_title___Rechnung
usw.
nun möchte ich bei allen Einträgen meta_key=price, dass die Nachkommastellen aus 2 Stellen gekürzt wird
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 5306433529
Url: https://administrator.de/forum/sql-tabelle-werte-bearbeiten-5306433529.html
Ausgedruckt am: 02.04.2025 um 00:04 Uhr
6 Kommentare
Neuester Kommentar

UPDATE TabelleXYZ
SET meta_value = round(meta_value,2)
WHERE meta_key = 'price';
https://www.w3schools.com/sql/sql_update.asp
Eher nicht, ist ja EAV. Die Spalte hält eben nicht nur numerische Werte sondern auch Zeichenketten. Das bedeutet aber natürlich das theoretisch "kaputte" Datensätze (meta_key = 'price' aber meta_value nicht numerisch) dazu führen können das das UPDATE scheitert - aber das findet man dann schon raus 
@ukulele-7
Hast recht…. Hab daran nicht gedacht.
Bzgl des Updates: das könnte man ja „filtern“:
Hast recht…. Hab daran nicht gedacht.
Bzgl des Updates: das könnte man ja „filtern“:
WHERE ISNUMERIC(meta_value) = 1
Völlig richtig. Ich gehe aber schwer davon aus das die Integrität der Daten in der Anwendung geregelt wird, das ist leider häufig so. Dann kann man davon ausgehen das das richtig ist solange man nicht selbst was zerschossen hat. Und vermutlich geht es hier ja eher um eine einmalige Sache, wenn das UPDATE in einen Fehler läuft findet man einfach das Problem und korrigiert es.