7

私は以下を使用してSQLサーバーでタブを印刷しようとしています:

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

しかし、それは機能していないようで、常に印刷されます

tab--> <--tab

足りないものはありますか?

4

4 に答える 4

14

Management Studio内でこれをテストしている場合、Results to GridCtrl+ )設定はタブをスペースに変更します...代わりに(+ )にD切り替えてみてください。タブが表示されます。Results to TextCtrlT

selectまたは、次のように変更することもできますprint

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

出力..。

tab-->  <--tab
于 2012-07-23T18:33:03.243 に答える
1
  1. ツール->オプション->クエリ結果->SQLServer->結果をグリッドに->コピーまたは保存時にCR/LFを保持
  2. SSMSを再起動します
于 2020-04-09T11:05:21.927 に答える
0

タブについてのことは、それらが一定の幅ではないということです。タブ文字は「次のタブストップに連れて行って」と言っています。現在、タブストップが8文字に設定されていて、タブが6文字の場合、タブの幅は1つだけになります。しかし、あなたが懐疑的だとしましょう(良いことです!)。タブが実際に出力されているという証拠がさらにあります。のようなことprint '>' + char(9) + '<'をすると、ギャップ内のスペースを1つだけ選択できないことに気付くでしょう。これは、表示されている空白がアトミックであることを示しています。しかし、私にとってもっと説得力があるのは、タブを表示できるエディターに貼り付けることです。私はvimを使用していますが、好きなものを使用してください。私がテストしたすべてのケースで、タブ文字が表示されました。

于 2012-07-23T18:59:58.433 に答える
0

それぞれChar(9)またはchar(160)はスペースに変換されます。char(9)+ char(9)+ char(9)=>を揃えると、スペースは1つだけになります。

だから私はこれらを試しました:

<"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はスペースに置き換えられます)

視覚的に、私は欲しいものを手に入れました...

于 2013-03-13T10:52:23.467 に答える