Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Champ SQL Server tronqué

Votre problème est que vous pensez que Management Studio va vous présenter toutes les données. Ce n'est pas le cas. Accédez à Outils> Options> Résultats de la requête> SQL Server. Si vous utilisez Results to Grid, remplacez "Maximum Characters Retrieved" par "Non XML data" (notez simplement que Results to Grid éliminera tout CR/LF). Si vous utilisez les résultats en texte, modifiez "Nombre maximum de caractères affichés dans chaque colonne".

Vous pourriez être tenté d'en saisir plus, mais le maximum que vous pouvez renvoyer dans Management Studio est :

65535 for Results to Grid
8192  for Results to Text

Si vous voulez vraiment voir toutes les données dans Management Studio, vous pouvez essayer de les convertir en XML, mais cela pose également des problèmes. Définissez d'abord Results To Grid> XML data sur 5 Mo ou illimité, puis procédez comme suit :

SELECT CONVERT(XML, column) FROM dbo.table WHERE...

Maintenant, cela produira un résultat de grille où le lien est réellement cliquable. Cela ouvrira une nouvelle fenêtre d'éditeur (ce ne sera pas une fenêtre de requête, donc n'aura pas de boutons d'exécution, IntelliSense, etc.) avec vos données converties en XML. Cela signifie qu'il remplacera > avec > etc. Voici un exemple rapide :

SELECT CONVERT(XML, 'bob > sally');

Résultat :

Lorsque vous cliquez sur la grille, vous obtenez cette nouvelle fenêtre :

(Il a en quelque sorte IntelliSense, validant le format XML, c'est pourquoi vous voyez les gribouillis.)

RETOUR AU RANCH

Si vous voulez juste vérifier votre santé mentale et que vous ne voulez pas vraiment copier tous les 383 Ko ailleurs, alors ne le faites pas ! Vérifiez simplement en utilisant :

SELECT DATALENGTH(column) FROM dbo.table WHERE...

Cela devrait vous montrer que vos données ont été capturées par la base de données, et le problème est l'outil et votre méthode de vérification.

(J'ai depuis écrit un conseil à ce sujet ici .)