SSMS Résultats pour Grille - CRLF pas conservé dans le copier/coller - toutes les meilleures techniques?
Quand j'ai un jeu de résultats dans la grille comme:
SELECT 'line 1
line 2
line 3'
ou
SELECT 'line 1' + CHAR(13) + CHAR(10) + 'line 2' + CHAR(13) + CHAR(10) + 'line 3'
Avec embedded CRLF, l'affichage de la grille s'affiche pour les remplacer par des espaces (je suppose qu'ils vont afficher toutes les données).
Le problème est que si je suis en générant du code d'un script, je ne peut pas simplement copier et coller ce. J'ai pour convertir le code pour ouvrir un curseur et imprimer les colonnes de sorte que je peux copier et coller du texte résultats.
Est-il pas plus simple solution de contournement pour préserver le CRLF dans une opération copier/coller à partir des résultats de la grille?
La raison que la grille est utile, c'est que je suis actuellement en train de générer un certain nombre de scripts pour le même objet dans les différentes colonnes de la pca dans une colonne, un format de fichier xml dans un autre, un tableau créer un script dans un autre, etc...
- +1 C'est vraiment une douleur dans le cul dans SQL Server Management Studio.
Vous devez vous connecter pour publier un commentaire.
Ce problème a été corrigé dans SSMS 16.5 construire 13.0.16000.28 avec l'ajout d'une option pour conserver les CR/LF sur copie/sauvegarde (plus de détails) (Connectez bug).
Ce sera la cause de
CR
,LF
, etCRLF
à être traités comme des retours à la ligne lorsque vous copiez une cellule.Je crois que cet article a plusieurs techniques qui peuvent être utiles: http://sqlblogcasts.com/blogs/martinbell/archive/2009/10/25/How-to-display-long-text-in-SSMS.aspx
SELECT CAST([field_with_crlf] AS XML)
est le truc pour obtenir un lien dans un SSM cellule de la grille à une page séparée CRLFs intacte.. copier des lignes, ainsi.Une chose que vous pouvez faire est d'envoyer les résultats vers un fichier, puis d'utiliser un éditeur capable de regarder un fichier de changements qui a des capacités supérieures pour la compréhension de la sortie.
c'est un hack, mais essayez ceci:
envelopper votre résultat dans une REMPLACER (.....,CHAR(13)+CHAR(10) CHAR(182)), pour conserver les sauts de ligne, vous pouvez les remplacer en arrière
De SORTIE:
remplacer le retour en SQL:
de sortie:
ou dans un bon éditeur de texte.