Char(9)不在Sql server 2005中打印选项卡

时间:2012-07-23 18:27:23

标签: sql-server char

我正在尝试使用以下方法在sql server中打印选项卡:

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

但它似乎无法正常工作并始终打印

tab--> <--tab

我有什么遗漏的东西吗?

4 个答案:

答案 0 :(得分:11)

如果您在Management Studio中对此进行测试,则Results to Grid Ctrl + D )设置会将您的标签更改为空格...尝试切换到Results to Text Ctrl + T ),您将看到标签。

或者,您可以将select更改为print

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

...输出

tab-->  <--tab

答案 1 :(得分:0)

关于标签的事情是它们不是恒定的宽度。标签字符显示“将我带到下一个制表位”。如果您当前的制表位设置为八个字符且制表符位于字符六,则该选项卡将只有一个宽。但是,让我们说你是持怀疑态度的(好事!)。有更多证据表明标签实际上是输出的。如果您执行类似print '>' + char(9) + '<'的操作,您会注意到您不能仅在间隙中选择一个空格,这表示您看到的空白是原子的。但更有说服力的是将其粘贴到允许您查看标签的编辑器中。我使用vim,但使用你喜欢的任何东西。在我测试的所有情况下,标签字符出现了。

答案 2 :(得分:0)

每个Char(9)char(160)都会转换为空格。 如果你对齐char(9)+ char(9)+ char(9)=&gt;你仍然只有一个空间。

所以我尝试了这些:

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

返回something[8 spaces here]something(每个char9或char16替换为空格)

视觉上,我得到了我想要的东西......

答案 3 :(得分:0)

  1. 工具->选项->查询结果-> SQL Server->网格结果->复制或保存时保留CR / LF
  2. 重新启动SSMS