Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Forum,

ich muss ein MS-SQL-Statement schreiben, welches bestimmte Zeichen in einem Textfeld durch andere Zeichen (einen CRLF) ersetzt. Wie erstelle ich am besten dieses Update-Statement?

Folgende Zeichenkette kann beliebig oft vorkommen und muss ersetzt werden: @@#@@. Dieses Zeichen soll durch einen Zeilenumbruch in einem NTEXT ersetzt werden.

Beste Grüße aus Erlensee

Patrick

Geschrieben

Moin,

wo auch immer dieses Erlensee liegen mag :D

Versuchs mal mit:

UPDATE mytable SET mySpalte = REPLCAE(mySpalte, '@@#@@', char(10) + char(13))

Ich hoff dabei einfach mal fuer dich, dass du es auf keine riesigen Datenmengen anwenden musst :)

Goos

Geschrieben

Sorry, hatte ich ueberlesen.

In dem Fall hast noch zu wenig Infos gegeben.

Benutzt du zufaellig MSSQL 2005? (Dann waers gar kein Problem :D )

....oder beinhalten deine NTEXT Felder vielleicht nicht mehr als 4000 Zeichen?

Goos

Geschrieben

Ich wuerds mal so versuchen:

UPDATE myTable SET mySpalte = REPLACE(CAST(mySpalte AS varchar(max)), '@@#@@', char(13) + char(10))

Performant ists aber natuerlich nicht sonderlich ;)

Goos

  • 10 Monate später...
Geschrieben

Hallo,

ich habe ähnliches Problem mit der REPLACE Funktion im Texfeld.

Möchte folgendes ausführen :

UPDATE ARTIKEL SET ZUSTEXT1 = REPLACE(ZUSTEXT1,'Wort1','Wort2')

Leider spuckt der MS-SQL Server: Der Argumentendatentyp text ist für das Argument 1 der replace-Funktion ungültig.

Wie kann ich das Problem umgehen ? Vielen Dank im voraus.

Mit freundlichem Gruß

Adam

Geschrieben

Vielen Dank, es hat mit UPDATE ARTIKEL SET ZUSTEXT1 = REPLACE(CAST(ZUSTEXT1 AS varchar(8000)), 'xxx','yyy') geklappt.

Möchte nun das Feld um bestimmten Text erweitern, habe mit :

UPDATE ARTIKEL SET ZUSTEXT1 = ZUSTEXT1 + 'Zusatztext'

probiert, leider klappt es nicht. Wäre für die Hilfe sehr dankbar, da ich leider kein Experte bin.

MFG

Adam

Geschrieben
probiert, leider klappt es nicht. Wäre für die Hilfe sehr dankbar, da ich leider kein Experte bin.

MSSQL liefert fehlermeldungen - auch in der 2000er version.

im übrigen hast du doch vorher bereits CAST verwendest; warum tust du das nicht hier wieder?

UPDATE ARTIKEL SET ZUSTEXT1 = CAST(ZUSTEXT1 AS varchar(8000)) + 'Zusatztext'

... funktioniert auch bei TEXT und NTEXT.

s'Amstel

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...