2012-07-23 9 views
7

Estoy tratando de imprimir una ficha en el servidor SQL usando:Char (9) no se imprime en la pestaña del servidor SQL 2005

select 'tab-->' + char(9) + '<--tab' 

Pero no parece funcionar y siempre imprime

tab--> <--tab 

¿Hay algo que me falta?

+0

me da buenos resultados . Tenga en cuenta que un carácter de tabulación irá a la siguiente tabulación en SQL Server, que puede terminar siendo solo uno o dos espacios en la práctica. Intenta copiar y pegar el llamado carácter 'tab' en otro contexto y ver si genera pestañas. (o ponga dos o tres pestañas en su cadena de salida). – mellamokb

+0

Copié el resultado al bloc de notas y el mismo resultado. – sdeep

Respuesta

10

Si está probando esto dentro del estudio de la gerencia, la Results to Grid (Ctrl +D) ajuste cambiará su ficha para un espacio ... trate de cambiar a Results to Text (Ctrl +T) en su lugar, y verá la pestaña.

Alternativamente, usted puede cambiar su select a un print:

print 'tab-->' + char(9) + '<--tab' 

salidas ...

tab--> <--tab 
+0

He probado "select '>' + char (9) + '<'" con los resultados a la grilla y todavía obtengo una pestaña. –

+0

@BenThul ¿En qué versión de SSMS? Probé en SSMS 2005 y no obtengo la pestaña con los resultados en la grilla ... –

+0

Probé en SQL 2012. –

0

Lo que pasa es que las pestañas no son una anchura constante. Un carácter de pestaña dice "llevarme a la siguiente parada de tabulación". Si actualmente tiene tabulaciones establecidas en ocho caracteres y la tabulación en el carácter seis, la pestaña solo tendrá un ancho. Pero digamos que eres escéptico (¡algo bueno!). Hay más evidencia de que la pestaña se está produciendo. Si hace algo como print '>' + char(9) + '<', notará que no puede seleccionar solo un espacio en el espacio, lo que indica que el espacio en blanco que está viendo es atómico. Pero más convincente para mí es pegarlo en un editor que te permite ver pestañas. Yo uso vim, pero usa lo que quieras. En todos los casos que probé, apareció el carácter de tabulación.

0

Cada Char(9) o char(160) se convierte en un espacio. Si alinea char (9) + char (9) + char (9) => todavía tiene solo 1 espacio.

así que traté siguientes:

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

vuelve something[8 spaces here]something (cada Char9 o char16 se sustituye por un espacio)

Visualmente, obtuve lo que quería ...

Cuestiones relacionadas