mssql 数据个数,所占空间相关函数应用?


一、在MSSQL中,
我们经常会统计一个数据的个数,截取数据第多少位开始(这里的位就是从数据的第多少个开始)
下文将介绍字符串个数的相关函数

1.1  数据长度获取
   非字符串类型的数据将会先转换为字符串类型,然后统计字符串个数,
常见的字符个数统计函数有 len
例 返回字符的个数函数len:

       declare @a varchar(20)
set @a ='www.maomao365.com'
print '个数:'+convert(varchar(20),len(@a))
go

declare @a nvarchar(20)
set @a ='猫猫小屋'
print '个数:'+convert(varchar(20),len(@a))
go

declare @a char(20)
set @a ='猫猫小屋'
print '个数:'+convert(varchar(20),len(@a))
go

declare @a int
set @a =20
print '个数:'+convert(varchar(20),len(@a))
go

declare @a datetime
set @a ='2017-8-15'
print '个数:'+convert(varchar(20),len(@a))
go
     


1.2 获取数据所占用字节数

返回数据库变量在sql中所需的存储空间,常使用datalength函数

  declare @a varchar(20)
set @a ='www.maomao365.com' ---每个字符占一个字节
print '空间占用:'+convert(varchar(20),datalength(@a))
go

declare @a nvarchar(20)
set @a ='猫猫小屋'  ---每个字符占两个字节
print '空间占用:'+convert(varchar(20),datalength(@a))
go

declare @a char(20)
set @a ='猫猫小屋' ---按定义空间占用内存空间
print '空间占用:'+convert(varchar(20),datalength(@a))
go

declare @a int
set @a =20   ---int占用4个字节
print '空间占用:'+convert(varchar(20),datalength(@a))
go

declare @a datetime
set @a ='2017-8-15' ---datetime占用8字节
print '空间占用:'+convert(varchar(20),datalength(@a))
go