如何在SQL Server中连接大型Text数据类型

时间:2011-06-24 17:38:15

标签: sql-server

我有下一个查询:

select 'some text: ' + cast(description as varchar(8000)) + ' end text'
From descriptionTable

但是我的描述字段大于8000个字符,所以我该怎么办?或者我必须要申请。

谢谢,

j2gl

2 个答案:

答案 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