永发信息网

SQLServer的字段能存储的长度远远达不到该字段的数据类型限制的长度

答案:5  悬赏:0  手机版
解决时间 2021-03-11 12:14
  • 提问者网友:浩歌待明月
  • 2021-03-10 21:26
我分别设置字段类型为varchar , nvarchar , text , ntext 并且把长度设置为他们的最大长度,但无论是哪种类型插入的字数一多(绝对远远小于设置的长度),就会提示错误:“输入的值与数据类型或长度的长度不一致或超出网格缓冲区限制”,这是为什么,该怎样解决?求教高手
最佳答案
  • 五星知识达人网友:思契十里
  • 2021-03-10 22:06
varchar和text是存储的数字是内存空间,而nvarchar和ntext储存的字数,
例如:
varchar(20)就只能存储20的空间数(一个汉字占两个空间数,字母,数字占一个空间数),那么就只能放10个汉字,或20个数字,字母,text也一样
nvarchar(20)为可变形,里面为20就只能放20个(数字,字母,汉字)随便放,就不记空间,就记个数
全部回答
  • 1楼网友:十年萤火照君眠
  • 2021-03-11 02:08
你可以变量定为char
  • 2楼网友:冷風如刀
  • 2021-03-11 01:28
示例: create proc p_test ( @phone varchar(20), --输入参数:手机号 @result smallint output --输出参数:0 手机号长度正常;1 手机号异常 ) as declare @len int set @len=len(@phone) if @len=11 begin set @result=0 print '手机号长度正常' end else begin set @result=01 print '手机号异常' end 另外,站长团上有产品团购,便宜有保证
  • 3楼网友:玩家
  • 2021-03-10 23:58
用sql语句可以插进去,也可以显示出来,但如果过长的话插进去后在企业管理器里看不到数据,可以用语句查询出来
  • 4楼网友:妄饮晩冬酒
  • 2021-03-10 23:35
varchar 和 text 都是根据字符的长度来调正它的长度的,只有nvarchar,ntext是固定长度的。 你把图截下来,我看看。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯