标签归档:varchar(max)

mssql sqlsever 2005/2008/2012/2014/2016中数据类型 varchar(max) nvarchar(max)存储容量说明


摘要:
下文将讲述sql server 2005及后续版本中,varchar(max) nvarchar(max)数据类型存储容量


varchar(max)、nvarchar(max) 、 varbinary(max) 三种数据类型为替代text、ntext、image而发明的数据类型,受到microsoft的推荐。
varchar(max)、nvarchar(max) 、 varbinary(max) 三种数据类型可存储2^31-1 个字节。
在sqlserver中使用 varchar(max)、nvarchar(max) 、 varbinary(max) 替代sqlserver中的大数据类型,方便我们对数据进行函数运算。

varchar(max)、nvarchar(max) 、 varbinary(max),由于为字符串类型,所以支持所有的字符串函数,也可应用于触发器中,可应用于游标中。

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 
   

mssql sqlserver varchar(max)存储容量分享


摘要:
下文将分享varchar(max)存储的最大长度,避免大家走入误区,产生错误的认识


前言:
varchar(max)是microsoft在sqlserver 2005及以后的版本中,
用来替换text数据类型而产生的一个新的数据类型,那么text能存储的数据,varchar(max)也可以进行相关存储,
varchar(max)最大可以存储4.2亿个字符

    ---长度为8000
    declare @tmp varchar(max)
	set @tmp=replicate('8',900000)
	print len(@tmp)
	-----输出-----
	--8000
	go
    ----------------------------------
     declare @tmp varchar(max) 
	 set @tmp=replicate(convert(varchar(max),'8'),9000000)--强制转换为varchar(max)。
	 print len(@tmp)
     -----输出-----
	--9000000
	go
  

mssql_sqlserver_varchar(max)长度查看

mssql_sqlserver_varchar(max)长度查看



注意事项:
如果上述print @tmp变量,则只能展示8000字符,因为print函数打印的是varchar字符串,默认为8000个字符为最大上限


相关阅读:
mssql 系统函数 字符串函数 replicate 功能简介