Laden...

[gelöst] Substring des aktuellen Feldwertes in Feld eintragen

Erstellt von Lord Hessia vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.486 Views
L
Lord Hessia Themenstarter:in
497 Beiträge seit 2006
vor 17 Jahren
[gelöst] Substring des aktuellen Feldwertes in Feld eintragen

Wie ist es in SQL möglich, den Wert eines Feldes mit einem Substring dieses Wertes zu ersetzen.
In meiner Datenbank stehen zur Zeit für Farbangaben Werte wie 0x123456 oder 0xFFFFFF in der Spalte Color. Ich würde daraus gerne 12345 und FFFFFF machen.

Folgender Versuch hat nicht funktioniert:


create table temp(id integer, newcolor varchar(6), color varchar(8));
INSERT INTO temp SELECT id, substr(color, 3, 6) AS newcolor, color FROM ingredient_juice;
UPDATE ingredient_juice SET color = (SELECT newcolor FROM temp WHERE ingredient_juice.id = temp.id);

Ich nehme mal an, dass die WHERE-Klausel des Updates das Problem ist, weiß aber keinen besseren Weg.

Habt Ihr bessere Ideen - evtl. auch ohne temporäre Tabelle?

Ach ja, ich verwende SQLite - es steht also kein TSQL oder so zur Verfügung.

Sarkusmus ist, wenn nichts mehr hilft, außer Lachen.

484 Beiträge seit 2006
vor 17 Jahren

Edit: Sorry war zu schnell mit der Antwort hatte gedacht TSQL

Nimm direkt beim Update REPLACE

http://msdn2.microsoft.com/de-de/library/ms186862.aspx

UPDATE ingredient_juice SET color = Replace(....)

Gruß Jörg

L
Lord Hessia Themenstarter:in
497 Beiträge seit 2006
vor 17 Jahren

Hallo Joerg,

Dein Beitrag hat mir trotzdem sehr geholfen, da man das substr() von SQLite genauso verwenden kann, wie ich festgestellt habe. Damit klappt's:

UPDATE ingredient_juice SET color = substr(color, 3, 6);

Gruß Flo

Sarkusmus ist, wenn nichts mehr hilft, außer Lachen.