Veröffentlicht 23. Dezember 200816 j Hallo alle, ich benötige Hilfe. Ziel ist es den Text aus zwei Datenfeldern in ein drittes Datenfeld zusammenzufassen. Unter Oracle funktioniert es mit der Funktion concat update Datentabelle_x set Feld_Text3 = concat(Feld_Text1,Feld_Text2) ; Wie funktioniert es unter MSSQL 2005? Versucht habe ich bisher: update Datentabelle_x set Feld_Text3 = cast (Feld_Text1 as text) + cast (Feld_Text2 as text); update Datentabelle_x set Feld_Text3 = cast (Feld_Text1 as text) || cast (Feld_Text2 as text); Alles ohne Erfolg. Vielen Dank für eure Hilfe. Kel
23. Dezember 200816 j es gab vor kurzem erst einen ähnlichen thread wie diesen. verwende CAST (FELD AS [N]VARCHAR(MAX)). s'Amstel
23. Dezember 200816 j es gab vor kurzem erst einen ähnlichen thread wie diesen. verwende CAST (FELD AS [N]VARCHAR(MAX)). s'Amstel Das update Datentabelle set Datenfeld3 = cast ((Datenfeld1 as [N]VARCHAR(MAX)) + cast ((Datenfeld2 as [N]VARCHAR(MAX)); ergibt das Meldung 156, Ebene 15, Status 1, Zeile 14 Falsche Syntax in der Nähe des 'as'-Schlüsselwortes. Was ist da falsch? Und was hat es mit der [N] auf sich? Was muss ich da einsetzen? Danke
23. Dezember 200816 j Probiers mit: update Datentabelle set Datenfeld3 = cast(Datenfeld1 as NVARCHAR) + cast (Datenfeld2 as NVARCHAR); Muss funktionieren Und hier eine kleine Lektüre für die Weihnachtstage Gruß
2. Februar 200916 j Probiers mit: update Datentabelle set Datenfeld3 = cast(Datenfeld1 as NVARCHAR) + cast (Datenfeld2 as NVARCHAR); Muss funktionieren Und hier eine kleine Lektüre für die Weihnachtstage Gruß So, ein neues Problem mit exakt diesem Befehl: Der Inhalt der Datenfelder1 und 2 wird abgeschnitten. Woran kann das liegen? ohje... ich weiß es wohl...länge angeben... nvarchar [ ( n | max ) ] Unicode-Zeichendaten variabler Länge. n kann ein Wert zwischen 1 und 4.000 sein. max gibt an, dass die maximale Speichergröße 2^31-1 Bytes beträgt. Die Speichergröße in Bytes ist doppelt so groß wie die Anzahl eingegebener Zeichen + 2 Bytes. Die eingegebenen Daten können 0 Zeichen lang sein. Die ISO-Synonyme für nvarchar sind national char varying und national character varying. Bearbeitet 2. Februar 200916 j von Hexekel
2. Februar 200916 j Das der Wert, welchen du gerne in die Zelle schreiben möchtest, größer ist, als die Spalte deklariert ist. Also z.B.: Spalte(meinetwegen Datenfeld1) ist nvarchar(15). Jetzt kommt der update und der neue Wert der Zelle ist aber 20 Zeichen groß. Nun werden also die letzten 5 Zeichen abgeschnitten. Wie kannste das beheben... zum Beispiel Spalte erweitern! Gruß Schmarrer
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.