Comment afficher TOUT le texte d'un NTEXT ou NVARCHAR (max) dans SQL Server Management Studio? Par défaut, il semble ne renvoyer que les premières centaines de caractères (255?) Mais parfois je veux juste un moyen rapide de visualiser tout le champ, sans avoir à écrire un programme pour le faire. Même SSMS 2012 a toujours ce problème :(
193
Réponses:
Options (Résultats de la requête / SQL Server / Résultats vers la page de grille)
...
Le maximum est, comme vous le voyez, 64k. La valeur par défaut est beaucoup plus petite.
BTW Results to Text a des limitations encore plus drastiques:
la source
J'ai pu extraire le texte intégral (99208 caractères) d'une colonne NVARCHAR (MAX) en sélectionnant (Results To Grid) uniquement cette colonne, puis en cliquant dessus avec le bouton droit de la souris, puis en enregistrant le résultat sous forme de fichier CSV. Pour afficher le résultat, ouvrez le fichier CSV avec un éditeur de texte (PAS Excel). Assez drôle, lorsque j'ai essayé d'exécuter la même requête, mais que les résultats dans le fichier étaient activés, la sortie était tronquée à l'aide de la limite Résultats dans le texte.
Le contournement que @MartinSmith a décrit comme un commentaire à la réponse (actuellement) acceptée n'a pas fonctionné pour moi (j'ai obtenu une erreur en essayant d'afficher le résultat XML complet se plaignant de "Le caractère '[', valeur hexadécimale 0x5B, ne peut pas être inclus dans un nom ").
la source
Astuce rapide-
la source
J'ai écrit un complément pour SSMS et ce problème y est résolu. Vous pouvez utiliser l'une des 2 méthodes suivantes:
vous pouvez utiliser "Copier la cellule actuelle 1: 1" pour copier les données de la cellule d'origine dans le presse-papiers:
http://www.ssmsboost.com/Features/ssms-add-in-copy-results-grid-cell-contents-line-with-breaks
Ou, alternativement, vous pouvez ouvrir le contenu de la cellule dans un éditeur de texte externe (notepad ++ ou notepad) en utilisant la fonction "Cell visualizers": http://www.ssmsboost.com/Features/ssms-add-in-results-grid-visualizers
(la fonctionnalité permet d'ouvrir le contenu du champ dans n'importe quelle application externe, donc si vous savez qu'il s'agit de texte - vous utilisez l'éditeur de texte pour l'ouvrir. Si le contenu est des données binaires avec image - vous sélectionnez la vue comme image. L'exemple ci-dessous montre l'ouverture d'une image ):
la source
Renvoyer les données au format XML
Assurez-vous de définir une limite raisonnable dans la fenêtre d'options SSMS, en fonction du résultat attendu.
Cela fonctionnera si le texte que vous renvoyez ne contient pas de caractères non codés comme
&
au lieu de&
cela, la conversion XML échouera.Renvoyer des données à l'aide de PowerShell
Pour cela, vous aurez besoin du module PowerShell SQL Server installé sur la machine sur laquelle vous exécuterez la commande.
Si vous êtes tous configurés, configurez et exécutez le script suivant:
Assurez-vous de définir le
-MaxCharLength
paramètre sur une valeur qui correspond à vos besoins.la source
Alternative 1 : Faites un clic droit pour copier la cellule et la coller dans l'éditeur de texte (avec un peu de chance avec le support utf-8)
Alternative 2 : Faites un clic droit et exportez vers un fichier CSV
Alternative 3 : utilisez la fonction SUBSTRING pour visualiser des parties de la colonne. Exemple:
la source
Si vous n'avez qu'à le voir, j'ai utilisé ceci:
Le résultat final est que j'obtiens des sauts de ligne et tout le contenu de la fenêtre de messages de SMSS. Bien sûr, cela n'autorise qu'une seule cellule - si vous souhaitez créer une seule cellule à partir d'un certain nombre de lignes, vous pouvez le faire:
J'utilise ceci pour valider les chaînes JSON générées par le code SQL. Trop difficile à lire autrement!
la source
Le moyen le plus simple d'afficher rapidement une grande colonne varchar / texte:
la source