Fragensteller
Insert into Tabelle mit Formatierung

Allgemeine Diskussion
-
Ich möchte aus Tabelle A die Daten in Tabelle B übernehmen, und dabei die Daten umformatieren.
TABELLE A TABELLE B
Order_nr nvarchar (20) NOT NULL Order_nr int NULL
Preis nvarchar (20) NULL Preis float NULL
TABELLE A ERGEBNIS TABELLE B
Order_nr Preis Order_nr Preis
3455 12,57 3455 12,57
5655 X 5655 NULL
5554 9,56 5554 9,56
Es ist zu beachten, dass in der "Tabelle A" im Feld "Preis" teilweise ein "X" eingetragen ist, wenn kein Preis vorhanden ist.
Kann mir jemand helfen, wie diese Insert-Anweisung funktionieren soll?
Vielen Dank für Eure Hilfe.
- Typ geändert Ivan DragovMicrosoft contingent staff, Moderator Donnerstag, 4. Mai 2017 11:46 Warten auf Rückmeldung
Alle Antworten
-
Hallo Fraport,
Eine Lösung wäre, X-Räume in Nullwerte zu konvertieren:
UPDATE table SET col1 = NULL WHERE col1 = 'X'
Ein ähnliches Problem findest Du in diesem Thread:
How to convert empty spaces into null values, using SQL Server?
Für explizite Konvertierungen werden die CAST- oder CONVERT-Funktionen verwendet. Weitere Informationen findest Du hier:
Datentypkonvertierung (Datenbankmodul)Gruß,
Ivan Dragov
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
-
insert into TabelleA (Order_nr, Preis)
select order_nr, iif(preis is null, 'X', convert(varchar(n), preis))
from tabelleBDer Trick ist ja, dass der NULL-Wert mit 'X' ersetzt werden soll, während der Zahlwert als Zeichenkette umgewandelt wird.
Der iif-Ausdruck vereinfacht den Case-Ausdruck:
case when preis is null then 'X' else convert(varchar(n), preis) end
-
Hallo,
wenn man glaubt das ein Preis NULL eine reale Sache ist dann sicher.
Versuche Dir die Auswertungen vorzustellen. Alle winden sich um die NULL herum.
hilfreich? Wohl eher nicht.
Hat man etwas kostenlos übergeben sollte das aus meiner Sicht mit einer 0 beim Preis und einer Klassifizierung des Produktes bzw. der Position abgelegt sein. Aber klar so geht es sicher auch eine Weile.Grüße Alexander