Heim >Datenbank >MySQL-Tutorial >Wie füge ich Zeilenumbrüche korrekt in Nvarchar-Zeichenfolgen in SQL Server ein?

Wie füge ich Zeilenumbrüche korrekt in Nvarchar-Zeichenfolgen in SQL Server ein?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-18 09:56:11407Durchsuche

How to Correctly Insert Newlines into nvarchar Strings in SQL Server?

Korrektes Einfügen von Zeilenumbrüchen in Nvarchar-Zeichenfolgen

Wenn Sie mit Rich Text in SQL Server arbeiten und auf die Notwendigkeit stoßen, ihn in einfachen Text umzuwandeln, a Eine häufige Aufgabe besteht darin, HTML-Zeilenumbrüche (
) durch Zeilenumbrüche zu ersetzen. Allerdings kann die einfache Verwendung der REPLACE-Funktion dazu führen, dass Zeilenumbrüche nicht richtig eingefügt werden.

Das Problem:

Im gegebenen Beispiel entsteht das Problem aufgrund der Kodierung der Newline-Zeichen. Die REPLACE-Funktion erwartet, dass die Parameter vom Datentyp nvarchar sind, der Unicode-Zeichen unterstützt. ASCII-Neuzeilenzeichen (Wagenrücklauf und Zeilenvorschub, dargestellt als CHAR(13) bzw. CHAR(10) können nicht direkt in eine Nvarchar-Zeichenfolge eingefügt werden, ohne in Unicode konvertiert zu werden.

Die Lösung:

Um dieses Problem zu beheben, sollten die Unicode-Darstellungen der Newline-Zeichen verwendet werden stattdessen:

set @rich_text_to_modify = replace(@rich_text_to_modify,'<br>', NCHAR(13)+NCHAR(10))

NCHAR(13) und NCHAR(10) repräsentieren Unicode-Wagenrücklauf- bzw. Zeilenvorschubzeichen. Durch die Verwendung dieser Unicode-Zeichen wird sichergestellt, dass die Zeilenumbrüche korrekt in die Nvarchar-Zeichenfolge eingefügt werden.

Zusätzliche Überlegungen:

  • SQL Server Management Studio (SSMS) Optionen: Stellen Sie sicher, dass die Option „CR/LF beim Kopieren oder Speichern beibehalten“ im Menü „Optionen“ von SQL Server Management Studio aktiviert ist (Extras -> Optionen). Diese Option behält Zeilenumbrüche beim Kopieren oder Speichern von Ergebnissen in ein Raster oder eine Datei bei.
  • Datenbankkompatibilität: Die Unicode-Unterstützung in SQL Server variiert je nach Datenbankkompatibilitätsgrad. Stellen Sie sicher, dass Ihre Datenbank auf einen Kompatibilitätsgrad eingestellt ist, der Unicode unterstützt, z. B. SQL Server 2012 und höher.

Das obige ist der detaillierte Inhalt vonWie füge ich Zeilenumbrüche korrekt in Nvarchar-Zeichenfolgen in SQL Server ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn