如何解决如何在数据库中插入一个12位数字
我正在使用ASP.NET MVC和SQL Server,我想存储一个12位数字的值221133556677。
这是我要在其中存储值的位置,因此Int36最多只能存储10位数字。
那么我该如何将数据类型更改为numeric(12,0)以便存储12位数字的值。
[Display(Name = "IC")]
[Required(AllowEmptyStrings = false,ErrorMessage = "IC is required")]
public int IC { get; set; }
解决方法
因此Int36最多只能存储10位数字。
世界上所有采用标准架构的计算机都没有INT36。字节是8位,所以是32位。不是36位。
而且自古以来,Int64也是一回事。规模更大。
在SQL Server中,它的名称为BIGINT,其规模可能会让您感到惊讶:
2 ^ 63(-9,223,372,036,854,775,808)至2 ^ 63-1(9,807)
关闭案例?
哦,不....
那么我怎样才能将数据类型更改为numeric(12,0)以便存储12位数字 值。
只是这样做吗?让我们从使用int的C#边代码开始-不长。 Int是32位(不是26)。只需将其更改为-哦,您坚持使用数字(十进制)吗?啊,使用Decimal而不是int。做完了否则,我将在数据库上使用long和bigint。
但是请注意,此“数字”可能不是数字。它是一个数字字符串。如果您可能需要一天的时间进行部分搜索,并且永远不会使用平均值,总和等信息,则将其存储为数字意义不大。
现在,您可能需要阅读一些文档:
具有所有SQL Server数据类型。这可以帮助您不要忽略明显的大规模数据类型。
,根据SQL Server文档,您可以使用BIGINT
。
它是一个带符号的64位int,范围为-2 ^ 63(-9,807)。
https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql-server-data-type-mappings
根据我发现的数字大小,并不影响它可以存储在SQL Server中的数字大小,仅影响使用ZEROFILL的时间
What is the size of column of int(11) in mysql in bytes?
,一个长整数可以存储12位数字。因此,请在您的C#中使用long而不是int。
long twelveDigits = 221133556677;
Console.WriteLine($"\nHere is twelve digit number,{twelveDigits}.");
Console.Write("\nPress any key to exit...");
Console.ReadKey(true);
SQLServer的数据类型为bigint 看到这里:int,bigint,smallint,and tinyint (Transact-SQL) 和:www.sqlservertutorial.net
这些应该让您得到照顾。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。