我有下一个查询:
select 'some text: ' + cast(description as varchar(8000)) + ' end text'
From descriptionTable
但是我的描述字段大于8000个字符,所以我该怎么办?或者我必须要申请。
谢谢,
j2gl
答案 0 :(得分:1)
试试这个:
select 'some text: ' + cast(description as varchar(max)) + ' end text'
From descriptionTable
因为
declare @description varchar(8000) = REPLICATE('a', 8000)
select datalength('some text: ' + @description + ' end text')
select datalength('some text: ' + cast(@description as varchar(max) ) + ' end text')
分别返回8000和8020。祝你好运。
答案 1 :(得分:1)
如果在声明VARCHAR变量或列中指定了长度,则允许的最大长度仍为8000.如果长度大于8000,则必须使用MAX说明符作为长度。
Varchar(8000)最多可存储8000个字符。 Varchar(max)最多可存储2 147 483 647个字符
Here您可以找到许多关于varchar大小问题的答案
所以请像这样使用max ..
select 'some text: ' + cast(description as varchar(max)) + ' end text'
From descriptionTable