如何在Teradata中获得邮政编码的前导零

时间:2014-12-16 18:56:15

标签: sql teradata

zip是整数数据类型。到目前为止我有

 select substring('00000'||cast(zip as char(5)), character_length(cast(zip as char(5))),5)

2 个答案:

答案 0 :(得分:1)

你所要求的并不完全清楚,但我从你的尝试中得出的猜测是你试图在字符串前加零,以使其成为一个共同的长度。

例如,如果你有以下数字:123, 1564, 12413并且你希望它们都是10个字符,重复的0&#f 0000000123, 0000001564, 0000012413前缀,你将需要像: / p>

SELECT substring('0000000000' FROM 1 FOR 10 - LENGTH(<yourField>)) || <yourField>

答案 1 :(得分:1)

将ZIPAT应用于zip:

TRIM(CAST(zip AS FORMAT '9(5)'))

或在TD14中使用LPAD:

LPAD(TRIM(zip), 5, '0')