我正在使用DTS将数据导出到文本文件。但有些字段的类型为varchar(max),我可以指定的最大大小为varchar(8000)。因此,文本被截断,我怎么能避免这种情况。
答案 0 :(得分:1)
我不确定,但我有一些合乎逻辑的方法:
1)你必须要add new column
,比如col1& COL2。然后根据您的要求,对您的数据应用“substring”查询,将零件数据应用于两个(或更多)部分。然后将第一部分存储在col1中,第二部分存储在col2 ... ans等等。
2)你必须add new row
,具有上述逻辑,其中row1存储第一部分,row2存储第二部分,依此类推。
没有别的办法。
**
我有第三个解决方案,它会工作> ** 您可以声明
**nVARCHAR(MAX)**
而不是nVARCHAR(MAX)
这是你的一个例子:::
DECLARE @String nVARCHAR(MAX) DECLARE @i INT SELECT @i = 10000,@ String =''
WHILE @ i> 0 开始 SELECT @String = @String +'A' SET @i = @i - 1 END
选择LEN(@String)作为长度
输出: 长度 ------- 10000
(1行受影响)
LEN语句返回10000,证明varchar(max)可以存储超过8000个字符。
答案 1 :(得分:0)
我会尝试将其转换为Text列。文本列最多可包含2147483647个字节的二进制数据。
谢谢,安德鲁