0

タイプのSQL Serverの列に値を挿入しようとしていましたnumeric(18, 0)

先頭にゼロを挿入できません。たとえば、追加022223は次のように挿入され22223ます...

列タイプを に変更するvarcharとうまくいくと思いますが、テーブル構造を変更したくありません。

テーブル構造を変更せずにこれを行う方法..助けてください

4

3 に答える 3

1

次のように値を読み取って挿入するときに、変換を適用できます。

値を挿入する場合:

string s = "00056";
 double val = double.Parse("0." + s);

値の使用を照会する場合:

double value = 0.00056; // stored value in your db field
 s = val.ToString().Remove(0,2);

値に先行ゼロがあるかどうかに関係なく、どのような場合でも機能すると思います。

于 2012-06-09T09:23:23.013 に答える
1

これをデータベースに入れる意味はありません。結局、データを選択しますね。したがって、選択中にこのようなことを行います。Googleで「mssql数値先行ゼロ」を探しました。すべてのソリューションは、私が言及したリンクのようなものです:)または、何らかの理由で、テーブルにそのようなデータが必要な場合は、varcharを使用してください:)

于 2012-06-09T08:30:46.060 に答える
0

32ビットとして保存されているので、印刷するときに先行ゼロを追加するだけなので、それは可能だとは思いません... 複数のアプローチがあります。 http://sqlusa.com/bestpractices2005/padleadingzeros/

于 2012-06-09T08:31:31.493 に答える