Hexekel Geschrieben 23. Dezember 2008 Teilen Geschrieben 23. Dezember 2008 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 23. Dezember 2008 Teilen Geschrieben 23. Dezember 2008 es gab vor kurzem erst einen ähnlichen thread wie diesen. verwende CAST (FELD AS [N]VARCHAR(MAX)). s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Hexekel Geschrieben 23. Dezember 2008 Autor Teilen Geschrieben 23. Dezember 2008 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schmarrer Geschrieben 23. Dezember 2008 Teilen Geschrieben 23. Dezember 2008 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ß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Hexekel Geschrieben 23. Dezember 2008 Autor Teilen Geschrieben 23. Dezember 2008 Hat funktioniert, Danke! :cool: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Hexekel Geschrieben 2. Februar 2009 Autor Teilen Geschrieben 2. Februar 2009 (bearbeitet) 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 2009 von Hexekel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schmarrer Geschrieben 2. Februar 2009 Teilen Geschrieben 2. Februar 2009 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.