我试图在 SQL Server 中的类型为的列中插入一个值numeric(18, 0)
。
我无法在开头插入零。例如添加022223
被插入为22223
...
我认为将列类型更改为varchar
可行,但我不想更改表结构。
在不更改表结构的情况下执行此操作的任何方法..请帮助
我试图在 SQL Server 中的类型为的列中插入一个值numeric(18, 0)
。
我无法在开头插入零。例如添加022223
被插入为22223
...
我认为将列类型更改为varchar
可行,但我不想更改表结构。
在不更改表结构的情况下执行此操作的任何方法..请帮助
您可以在读取和插入这样的值时应用转换:
插入值时:
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);
我认为它在任何情况下都会起作用 - 无论你的价值是否领先于零。
没有必要在数据库中使用这个。毕竟,您将选择数据,不是吗?所以在选择时做这样的事情。我在谷歌中查找“mssql 数字前导零”。所有解决方案都像我提到的链接一样:) 或者显然,如果您出于某种原因必须在表中包含类似的数据,请使用 varchar :)
好吧,我认为这是不可能的,因为它被存储为 32 位,所以在打印时只需添加前导零......有多种方法。 http://sqlusa.com/bestpractices2005/padleadingzeros/