7
votes

Char (9) n'imprime pas l'onglet dans SQL Server 2005

J'essaie d'imprimer un onglet dans SQL Server à l'aide de:

tab--> <--tab


2 commentaires

Fonctionne bien pour moi. Notez qu'un caractère d'onglets passera à l'onglet Suivant STOCT dans SQL Server, qui peut finir par ne être qu'un ou deux espaces dans la pratique. Essayez de copier et de coller le caractère appelé onglet dans un autre contexte et voyez s'il génère des onglets. (ou mettre deux ou trois onglets dans votre chaîne de sortie).


J'ai copié la sortie au bloc-notes et le même résultat.


4 Réponses :


13
votes

Si vous testez cela à l'intérieur du Studio de gestion, les Résultats sur la grille code> ( Ctrl kbd> + D kbd>) changera votre onglet vers un espace ... Essayez de passer à Résultats au texte CODE> ( CTRL KBD> + T KBD>) et vous verrez l'onglet.

alternativement , vous pouvez modifier votre SELECT CODE> à un Imprimer CODE>: P>

tab-->  <--tab


2 commentaires

J'ai testé "Sélectionner"> '+ Char (9) +' <'"avec les résultats à la grille et obtenez toujours un onglet.


@Benthul sur quelle version de SSMS? J'ai testé dans SSMS 2005 et je ne reçois pas l'onglet avec des résultats à la grille ...



0
votes

La chose à propos des onglets est qu'ils ne sont pas une largeur constante. Un caractère d'onglets dit "Apportez-moi à l'onglet suivant". Si vous avez actuellement des arrêts d'onglets définis à huit caractères et que l'onglet est à six caractères, l'onglet ne sera qu'un large. Mais disons que vous êtes sceptique (une bonne chose!). Il y a plus de preuves que l'onglet est en train d'être émis. Si vous faites quelque chose comme Imprimer '>' + Char (9) + '<' << , vous remarquerez que vous ne pouvez sélectionner qu'un seul espace dans l'écart, indiquant que le blancheur que vous " re voir est atomique. Mais plus convaincant de moi, c'est la coller dans un éditeur qui vous permet de voir des onglets. J'utilise Vim, mais utilisez ce que vous voulez. Dans tous les cas, j'ai testé, le caractère de tabulation est apparu.


0 commentaires

0
votes

Chaque Char (9) code> ou Char (160) code> est converti en espace. Si vous alignez Char (9) + CHAR (9) + CHAR (9) => Vous n'avez toujours que 1 espace.

Alors j'ai essayé ceci: p>

<"something"+char(9)+char(160)+char(9)+char(160)+char(9)+char(160)+char(9)+char(160)"something">


0 commentaires

1
votes
  1. Outil -> Options -> Résultats de la requête -> SQL Server -> Résultats à la grille -> Conservez CR / LF sur Copier ou Enregistrer
  2. redémarrez SSMS

0 commentaires