长度问题
char(20)和varchar(20)可以储存多少个字符、数字和汉字,他们各占多大的宽度 问题点数:30、回复次数:6Top
1 楼zhangzs8896(小二)回复于 2004-09-04 09:15:57 得分 20
char(20) 20个字符,不管实际多少,都占20字符
varchar(20) 根据实际内容存储,最大20字符Top
2 楼hisi(海山)(随机种子)回复于 2004-09-04 09:17:51 得分 5
长度都是20个字节,
半角字符可以存储20个,
全角字符可以存储10个。
区别是char(20)是定长的,varchar(20)是不定长的,如:
declare @char char(20),@varchar varvhar(20)
set @char ='123'
set @varchar='123'
select len(@char) -- 20,右补空格
select len(@varchar) -- 3Top
3 楼ChongTaoZaiLai(SQL)回复于 2004-09-04 09:23:16 得分 0
字符、数字和汉字占多大的宽度?
Top
4 楼lzymagi(逸)回复于 2004-09-04 09:24:43 得分 5
字符1,数字1,汉字2Top
5 楼zhangzs8896(小二)回复于 2004-09-04 09:39:18 得分 0
--len()返回给定字符串的字符(不是字节),其中不包含尾随空格
--datalength() 返回给定字符串的字节数,包含尾随空格
declare @char char(20),@varchar varchar(20)
set @char ='123'
set @varchar='123'
select datalength(@char), datalength(@varchar) -- 3
select len(@char),len(@varchar)
--结果:
----------- -----------
20 3
(所影响的行数为 1 行)
----------- -----------
3 3
(所影响的行数为 1 行)Top
6 楼zhangzs8896(小二)回复于 2004-09-04 09:43:18 得分 0
--len()返回给定字符串的字符(不是字节),其中不包含尾随空格
--datalength() 返回给定字符串的字节数,包含尾随空格
declare @char char(20),@varchar varchar(20)
set @char ='张忠生'
set @varchar='张忠生'
select datalength(@char), datalength(@varchar)
select len(@char),len(@varchar)
---结果
----------- -----------
20 6
(所影响的行数为 1 行)
----------- -----------
3 3
(所影响的行数为 1 行)
--你要再看不明白就没办法了,呵
Top




