关于varchar()的长度问题?
是在定义表时,已经将这个字段的长度定义为了varchar(20)了。我想问一下,像varchar(20)这样的字段里,可以写入多少个汉字,英文和数字?是不是:只能写入10...
是在定义表时,已经将这个字段的长度定义为了varchar(20)了。
我想问一下,像varchar(20)这样的字段里,可以写入多少个汉字,英文和数字?
是不是:只能写入10个汉字,
20个英文,
20个数字。
因为当我输入的汉字多时,他就会报错! 展开
我想问一下,像varchar(20)这样的字段里,可以写入多少个汉字,英文和数字?
是不是:只能写入10个汉字,
20个英文,
20个数字。
因为当我输入的汉字多时,他就会报错! 展开
亚远景信息科技
2024-12-11 广告
2024-12-11 广告
上海亚远景信息科技有限公司是国内汽车行业咨询及评估领军机构之一,深耕于ASPICE、敏捷SPICE、ISO26262功能安全、ISO21434车辆网络安全领域,拥有20年以上的行业经验,专精于培训、咨询及评估服务,广受全球车厂及供应商赞誉,...
点击进入详情页
本回答由亚远景信息科技提供
2011-09-22
展开全部
我觉得您应该首先确认一下存储在数据库中的张三,123的长度,很可能是你出入的时候就已经发生了错误。varchar类型,如果数据库中数据没有空格,取值到变量中,是绝对不可能出现空格的。所以问题很可能在你插入数据的时候就有了。这种按照长度补空格,只有char行才会有。
所以先确定一下数据库表中数据的长度到底是多少?使用len函数查询一下。
select len(用户名), len(密码) from 表名字
看看长度是不是有问题。
另外,如果有空格,可以使用rtrim函数把右边的空格去掉,这样也可以保证数据的准确。
select rtrim(用户名), rtrim(密码) from 表名
ltrim是去左侧空格的函数,rtrim是去右侧空格的函数。
因为SQLSERVER中没有trim函数同时去掉左侧右侧的空格,所以要分别使用ltrim和rtrim来去掉左边和右边的空格。你这个只是在右侧补了空格,使用rtrim就够用了。
所以先确定一下数据库表中数据的长度到底是多少?使用len函数查询一下。
select len(用户名), len(密码) from 表名字
看看长度是不是有问题。
另外,如果有空格,可以使用rtrim函数把右边的空格去掉,这样也可以保证数据的准确。
select rtrim(用户名), rtrim(密码) from 表名
ltrim是去左侧空格的函数,rtrim是去右侧空格的函数。
因为SQLSERVER中没有trim函数同时去掉左侧右侧的空格,所以要分别使用ltrim和rtrim来去掉左边和右边的空格。你这个只是在右侧补了空格,使用rtrim就够用了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是文本框就像发表文章之类一般字段类型最好使用text,就可以输入很多字的,而varchar(20)只能输入20个字以内的。一般是用来注册用户名和密码之类的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
恩 是这么回事。 输入的字符或汉字不能超出你定义的范围。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询