在sqlserver 中建了一张简单的表,有2列,
create table a
(col1 char(10) null,
col2 varchar(10) null)
然后insert into a values (‘abc’,‘abc’)
最后再分别察看col1 和col2的列的长度,select col_length(‘a’,‘col1') select col_length(‘a’,‘col2'),为什么得到的长度都是10呢,varchar和char不是不一样吗?
望达人解惑!
create table a
(col1 char(10) null,
col2 varchar(10) null)
然后insert into a values (‘abc’,‘abc’)
最后再分别察看col1 和col2的列的长度,select col_length(‘a’,‘col1') select col_length(‘a’,‘col2'),为什么得到的长度都是10呢,varchar和char不是不一样吗?
望达人解惑!
返回列的定义长度(以字节为单位),而不是里面数据的长度。--用len()函数
select len(col1),len(col2) from a
fire_qu(金迷之蓝色忧郁):
nvarchar和varchar的区别是前者的字符是以2个字节存储,而varchar的字符仅仅以1个字节存储。