mssql sqlserver varchar 不写长度,到底代表多长呢?


摘要:
下文通过举例讲解在sql脚本中,不对varchar进行定义所产生的长度值,如下所示:
实验环境:sql server 2008 R2


  declare @maomao varchar 
set @maomao ='maomao'

print '字符varchar长度测试:'+@maomao

go


declare @maomao varchar 
set @maomao =N'教程'

print '中文varchar长度测试:'+@maomao

go



declare @maomao nvarchar 
set @maomao ='maomao'

print '字符nvarchar长度测试:'+@maomao

go


declare @maomao nvarchar 
set @maomao =N'教程'

print '中文nvarchar长度测试::'+@maomao

go


从上文的例子,我们可以看出,varchar定义默认占用一个字节,nvarchar默认占用2个字节
及varchar和nvarchar未指定长度时,都默认占用存储length为1的字符

mssql_sqlserver_varchar_长度_7918

mssql_sqlserver_varchar_长度_7918