Ich möchte ein Zeilenumbruchszeichen in einem TSQL-String ersetzen (oder entfernen). Irgendwelche Ideen?
Das Offensichtliche
REPLACE(@string, CHAR(13), '')
wird es einfach nicht tun...
Ich möchte ein Zeilenumbruchszeichen in einem TSQL-String ersetzen (oder entfernen). Irgendwelche Ideen?
Das Offensichtliche
REPLACE(@string, CHAR(13), '')
wird es einfach nicht tun...
Wenn Sie eine offene Prozedur mit sp_helptext haben, dann kopieren Sie einfach den ganzen Text in eine neue SQL-Abfrage und drücken Sie die Taste ctrl+h. Verwenden Sie einen regulären Ausdruck, um zu ersetzen und setzen Sie ^ \n im Suchfeld durch Leerzeichen ersetzen. Für weitere Details siehe Bild. Bildbeschreibung hier eingeben
Die Antwort, die oben/früher gepostet wurde, sollte CHAR(13)CHAR(10) Wagenrücklauf ersetzen:
REPLACE(REPLACE(REPLACE(MyField, CHAR(13) + CHAR(10), 'something else'), CHAR(13), 'something else'), CHAR(10), 'something else')
Wird nie zum REPLACE(MyField, CHAR(13) + CHAR(10), 'something else')
Teil des Codes und liefert das unerwünschte Ergebnis von:
'something else''something else'
Und NICHT das gewünschte Ergebnis eines Singles:
'something else'
Dazu müsste das REPLACE-Skript als solches umgeschrieben werden:
REPLACE(REPLACE(REPLACE(MyField, CHAR(10), 'something else'), CHAR(13), 'something else'), CHAR(13) + CHAR(10), 'something else')
Der Ablauf testet zunächst die 1./weiteste linke REPLACE-Anweisung und fährt dann bei einem Fehlschlag mit der Prüfung der nächsten REPLACE-Anweisung fort.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.