1

我有个问题。我将 Teradata 数据库中的数据直接提取到 SAS 中。数据如下所示:

id fragmentId   fragment
1     34       (some text)
2     67       (some text)
3     89       (some text) 
.......

问题是片段字段包含 10 页甚至更多(30,000,000 个字符)的文本。因此,在 SAS 中,我得到了被截断的列和松散的数据。如何增加包含文本的 SAS 列的限制?

(PS:我已经dbmax_text按照@Joe 的建议查找了选项。但是,该选项似乎适用于除 teradata 之外的任何 dbms)。我该如何编码?

4

1 回答 1

1

Teradata 确实不支持 DBMAX_TEXT。它似乎也不支持几乎与您列出的一样高的字符大小;teradata的文档页面最多列出 64,000 个字节;此外,SAS 在一列中最多只能容纳 32767 个字符。

在您的情况下,您可能需要考虑将数据库中的列拆分为 32767 字节的块(或任何对您的需求有意义的东西)。在视图中通过传递执行此操作,然后从该视图中读取数据。

-- 以前的信息(对 Teradata 以外的其他 DBMS 有帮助,此处无用) --

您可能需要将dbmax_text选项更改为更大的选项 - 它往往默认为 1024。

您可以在拉取(数据步骤或 sql 查询)中将其更改为数据集选项,或在数据库 libname 语句中进行更改。

有关详细信息,请参阅文档页面

于 2013-09-19T20:30:10.873 回答