【问题标题】:SQL Server datatype IntSQL Server 数据类型 Int
【发布时间】:2017-05-23 18:51:19
【问题描述】:

我正在使用 SQL Server 2012,并尝试在 int 列 (Filenum) 中插入值

INSERT INTO Tbl (Filenum, Fname, Sname, Tname, Lname, DOB, NatID, SexID, AdrsCtryID, AdrsStateID, AdrLin1, FileStatID, MarStatID, OcupID, Email, SSnum, Passnum, TelMob, TelLnd, TelWrk, TelWrkExt, TelInt, strno, Direction, AptNo, locality, adminLvl, postalcode, Contr, UsrID, LogID)
VALUES (@FileNum, @Fname, @Sname, @Tname, @Lname, @DOB, @NatID, @SexID, @AdrsCtryID, @AdrsStateID, @AdrLin1, @FileStatID, @MarStatID, @OcupID, @email, @SSnum, @Passnum, @TelMob, @TelLnd, @TelWrk, @TelWrkExt, @TelInt, @strno, @Direction, @AptNo, @locality, @adminLvl, @postalcode, @Contr, @UsrID, @LogID)

允许使用 9 位数的 (777777777) 等值,而 10 位数的值会出现此错误

此单元格中更改的值未被识别为有效的 .net 框架数据类型 int32

知道为什么吗?

【问题讨论】:

  • 32 位有符号整数的最大值为 2,147,483,648
  • 请告诉我您没有以纯文本形式存储 SSN。
  • 其实我把它加密保存了,是的,如果我妥协了请您在这里纠正我

标签: sql-server


【解决方案1】:

4 字节有符号整数的最大大小:2147483648

尝试在 sql server 中使用 bigint,在 .net 中使用 64 位签名 int long

参考:

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-14
  • 2023-03-06
  • 2016-12-27
  • 2010-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多