0

SQL Server 2012 を使用して作成しているファイルがあります。

列の多くはオプションまたは未使用であり、通常そこにある文字の代わりに、数値列をゼロで埋め、英数字列をスペースで埋めるよう求められます。

という名前の列がCDDあり、長さは 256 文字です。

単一引用符でスペース バーを 256 回押す以外に、この列を埋める簡単な方法はありますか?

ファイルは固定幅であるため、正しくインポートするには、この列に 256 個のスペースが必要です。replicateとを見ていましたstuffが、列に置き換える元の文字列がないため意味がありません。

Replicateゼロで動作しますが、スペースで検証するにはどうすればよいですか? 実際の文字が含まれている場合のように列が展開されません... SQL-Server はこのように空白を折りたたむことはできますか?

4

2 に答える 2

1

レプリケート機能を使用する必要があります。

SELECT REPLICATE(' ',256)

この関数は、スペース (または最初のパラメーターに入力した任意の文字列) を 256 回 (または 2 番目のパラメーターに指定した回数) 繰り返します。

于 2014-06-18T19:15:06.097 に答える
0

あなたに加えて、REPLICATEまた使用することができます

SELECT SPACE(256);

「列の展開」に関する限り、(グリッドの代わりに) [テキストの結果] をクリックしない限り、列は SSMS で展開されて表示されません。この関数を使用すると、 LEN0 がDATALENGTH返されますが、列に要求された実際のスペース数varchar、または定義された列の長さのいずれかが返されcharます。いずれにせよ、出力をテキスト エディターにコピーすると、実際には空白の文字列であることがわかります。

于 2014-06-18T19:32:25.607 に答える