char 和 varchar的区别

本文探讨了数据库中char与varchar的区别,包括定长与变长特性、存储方式及资源消耗对比,并通过示例展示了这两种类型在实际使用中的表现差异。

1、char, nchar 是定长的
varchar, nvarchar 是变长的
2、char 长度固定,长度不够,用空格替代
varchar 长度可变,长度不够,不用空格替代
char比varchar所消耗的系统资源要多。

3、LEN函数
返回给定字符串表达式的字符(而不是字节)个数,其中不包含尾随空格。

这是原因。
其实变量本身在char和varchar长度是不同的.

4、RTRIM

截断所有尾随空格后返回一个字符串。

5、

declare @aa varchar(15)
declare @aaa char(15)
declare @bb int
declare @bbb int
declare @cc char(1)

set @aa = '1234567890'
set @aaa = '1234567890'
set @cc = 'e'

set @bb = len(@aa+@cc)
set @bbb = len(@aaa+@cc)
select len(@aa)
select len(@aaa)
select @bb
select @bbb

‘===============

‘最后返回数分别是10,10,11,16。
都是12,可能是用了len()返回给定字符串表达式的字符(而不是字节)个数,其中不包含尾随空格。相当于trim(expression)了吧,楼主怎么结果不同呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值