转换nvarchar值'17097809875'超出了整数列

stevenjin 2020-09-22 11:10:52
在mysql中,我用char存取电话号码,长度为11,运行后报错:
转换nvarchar值'17097809875'超出了整数列



...全文
10082 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
itccw 2020-09-25
  • 打赏
  • 举报
回复
nvarchar(11),11*2=22
nvarchar(22),
nvachar 是2字节占位
  • 打赏
  • 举报
回复
nvarchar 对应的是nchar 。 nvarchar和 varchar 存储字节是不一样的, 可以百度下 varchar(n) 长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。 nvarchar(n) 包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。 所以你在转的时候会溢出的。
一叶知秋~ 2020-09-23
  • 打赏
  • 举报
回复
用 nvarchar(11) 一般情况下字符串类型的统一用nvarchar比较好,电话号码很显然要用字符串类型接收,所以需要用navarchar
tcmakebest 2020-09-23
  • 打赏
  • 举报
回复
char只能存一个字符, 这个字符可以对应一个数值, 比如 97, 电话号码当成数字来存肯定不对的.
一落山川_ 2020-09-23
  • 打赏
  • 举报
回复
直接用char(11)或者varchar

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧