【发布时间】:2016-02-05 02:10:32
【问题描述】:
背景:我正在处理的应用程序没有使用任何字符分隔符。字段是固定长度的。字母数字字段必须左对齐并在右侧填充空格,而数字字段必须右对齐并在左侧填充零。
我一直在尝试通过使用 RPAD 和 LPAD 功能来实现这一点。我遇到的问题是 Teradata 显示的错误,“响应行大小或常量行大小溢出”。如果每条记录 4000 字节,并且(根据我的阅读)Teradata 中每条记录的最大大小为 64KB,所以我远远低于 Teradata 允许的最大长度。
这里是生成错误的一小段代码示例;
SELECT
RPAD(t1.MemberNbr, 20, ' ') AS MemberNbr
,RPAD(t1.LastName, 35, ' ') AS LastName
,RPAD(t1.FirstName, 25, ' ') AS FirstName
,CAST(t1.B_Day AS DATE FORMAT 'YYYYMMDD') (char(8)) AS BirthDay
FROM someTable AS t1
谁能向我解释为什么这不起作用?谢谢
【问题讨论】: