mssql sqlserver text同ntext数据类型区别说明


摘要:
下文讲述sql server数据类型text及ntext之间的区别,如下所示:

ntext、text:在sql server中用于存储文本数据的字段。
text:采用单字节保存数据,字符数据采用一个字节保存,中文会采用两个字节保存。
ntext:采用双字节保存数据,无论字符、中文都占用两个字节。
——————————————————————–
text:可存储最多字符数为2^31-1(2,147,483,647)个字符,最大占用空间为 2,147,483,647 字节,实际占用情况随字符串大小而变化。
ntext:可存储最多字符数为(2^31-1)/2(1,073,741,823)个字符,最大占用空间为 2,147,483,647 字节,实际占用情况随字符串大小而变化。

  /*
下文通过举例的方式:
分享text,ntext存储的占用字节数
text当字符时,占用一个字节,
text当汉字时,占用双字节
ntext全部为双字节存储
*/

create table test
(keyId int identity,
infoA text,infoB ntext)
go

insert into test
(infoA,infoB)values
('www.maomao365.com','www.maomao365.com'),
('教程','教程'),
('www.maomao365.com',N'www.maomao365.com'),
(N'www.maomao365.com',N'www.maomao365.com'),
(N'sqlserver教程blog',N'sqlserver教程blog')


select *,
datalength(infoA) as [infoA字节],
datalength(infoB) as [infoB字节]
 from test 

go
truncate table test
drop     table test 
 
mssql_sqlserver_text_ntext占用字节数分析

mssql_sqlserver_text_ntext占用字节数分析