varchar(Max)变量可以存放多少字符

gzlx 2014-12-05 01:42:47
Declare @BarCode varchar(Max),@BarCodeCur nvarchar(16),@Id int
set @BarCode = ''
set @BarCodeCur = 'GG141200496095'
set @Id = 1
While @Id <= 550
Begin
set @BarCode = @BarCode + @BarCodeCur + char(10)
Set @Id = @Id + 1
End


print @BarCode

@BarCode 会截断
GG141200496095
GG141
...全文
1102 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2014-12-05
  • 打赏
  • 举报
回复
验证一下长度
--print @BarCode
print convert(varchar(11),len(@Barcode))
print convert(varchar(11),(len(@BarCodeCur)+1)*(@id-1))

8250
8250
卖水果的net 版主 2014-12-05
  • 打赏
  • 举报
回复
LZ 在最后加一个输出语句

print len(@BarCode)    -- 这个的输出,应该是大于 8000 的。
lhl8198 2014-12-05
  • 打赏
  • 举报
回复
varchar(Max)中Max最大8000,汉字算2个字符 nvarchar(Max)中Max最大4000,汉字算1个字符
發糞塗牆 2014-12-05
  • 打赏
  • 举报
回复
varchar(Max)可以放2G容量,记住是容量不是长度,print不会显式完全信息。 另外: @BarCode varchar(Max),@BarCodeCur nvarchar(16) 这里,如果没必要,不要一个用varchar一个用nvarchar
还在加载中灬 2014-12-05
  • 打赏
  • 举报
回复
截断是PRINT干的事,不关MAX啥事 PRINT只能8000

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧