SSMS Ergebnisse in Raster - CRLF nicht erhalten, in der copy/paste - jede bessere Techniken?
Wenn ich ein ResultSet in das raster wie:
SELECT 'line 1
line 2
line 3'
oder
SELECT 'line 1' + CHAR(13) + CHAR(10) + 'line 2' + CHAR(13) + CHAR(10) + 'line 3'
Mit eingebettete CRLF, die Anzeige im grid angezeigt wird, ersetzen Sie Sie mit Leerzeichen (ich Schätze so, dass Sie alle Daten anzuzeigen).
Das problem ist, dass wenn ich code-Generierung ein Skript, ich kann nicht einfach Ausschneiden und einfügen dieser. Ich habe zum konvertieren der code zum öffnen eines Cursors, und drucken Sie die relevanten Spalten also kann ich die kopieren und einfügen aus dem text ergibt.
Gibt es eine einfachere Abhilfe zu bewahren, das CRLF in eine kopieren/einfügen-operation aus den Ergebnissen grid?
Dem Grund, dass das Netz nützlich ist, ist, dass ich derzeit generiert eine Reihe von scripts für das gleiche Objekt in verschiedenen Spalten - eine bcp in einer Spalte eine Datei im xml-format in ein anderes, eine Tabelle erstellen Skript in einem anderen, etc...
- +1 Das ist wirklich ein Schmerz in den Arsch in SQL Server Management Studio.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieses Problem wurde behoben in SSMS 16.5 bauen 13.0.16000.28 mit dem Zusatz von einer option zu erhalten CR/LF auf kopieren/speichern (mehr details) (Connect bug).
Dadurch wird
CR
,LF
, undCRLF
behandelt werden als Zeilenumbrüche beim kopieren einer Zelle.Ich glaube, dass dieser Artikel hat mehrere Techniken, die hilfreich sein können: http://sqlblogcasts.com/blogs/martinbell/archive/2009/10/25/How-to-display-long-text-in-SSMS.aspx
SELECT CAST([field_with_crlf] AS XML)
ist die gelungene trick, um einen link in einem SSMS grid-Zelle auf eine separate Seite mit dem CRLFs intakt.. kopieren von Zeilen funktioniert, wie gut.Eine Sache, die Sie tun können, ist senden Sie die Ergebnisse in eine Datei, dann verwenden Sie einen editor in der Lage zu beobachten-die Datei für die änderungen, die überlegene Funktionen für die Ausgabe verstehen.
es ist ein hack, aber versuchen Sie dies:
wickeln Sie Ihr Ergebnis in einem ERSETZEN (.....,CHAR(13)+CHAR(10) CHAR(182)) zu erhalten, die Zeilenumbrüche, können Sie dann ersetzen Sie Sie zurück
AUSGABE:
ersetzen Sie Sie zurück in SQL:
Ausgabe:
oder in einem guten text-editor.