我有问题。我将数据从Teradata Database直接导入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)。
我该如何编码?
答案 0 :(得分:1)
Teradata确实不支持DBMAX_TEXT。它似乎也不支持几乎与您列出的字符大小相同的字符大小; teradata的the doc page列出最多64,000个字节;而且,SAS只能在一列中保存最多32767个字符。
在您的情况下,您可能需要考虑将数据库中的列拆分为32767个字节的块(或者根据您的需要进行逻辑检测)。在视图中以直通方式执行此操作,然后从该视图中读取数据。
- 以前的信息(对Teradata以外的其他DBMS有帮助,在这里没用) -
您需要将dbmax_text
选项更改为更大的值 - 它往往默认为1024。
您可以在pull(数据步骤或sql查询)中将其更改为数据集选项,或在数据库libname语句中更改它。
有关详细信息,请参阅the documentation page。