mssql sqlserver varchar(max)同text、nvarchar(max)同ntext、varbinary(max)同image数据类型区别分享


摘要:
微软建议在sqlserver 2005版本及后续版本中,使用varchar(max)、nvarchar(max)、varbinary(max)数据类型替换
text、ntext、image数据类型


sqlserver 2005引入 varchar nvarchar varbinary数据类型中的max,可以最多存储2的31次方减1个字节的数据。

text同varchar(max)和ntext同nvarchar(max)区别如下:

1:可使用的系统函数不一致
text、ntext可使用以下函数:
DATALENGTH
READTEXT
PATINDEX
SET TEXTSIZE
SUBSTRING
UPDATETEXT
TEXTPTR
WRITETEXT
TEXTVALID
—————————–
varchar(max) nvarchar(max)可应用于所有字符串函数

例:
varchar(max) nvarchar(max)可应用于left字符串函数,但是text、ntext不支持其字符串使用

      CREATE TABLE test (
  keyId int identity(1,1),
  textInfo text null,
  varcharMaxInfo varchar(max) null 
  ) 
  
  ---插入数据
  insert into test (textInfo,varcharMaxInfo)values
  ('www.maomao365.com','www.maomao365.com'),
  (N'sqlserver教程',N'sqlserver教程'),
  (N'sqlserver优秀教程',N'sqlserver优秀教程') 

select *,
reverse(varcharMaxInfo)
 as [字符串函数] 
from test 

go
truncate table test
drop     table test