2016-03-04 53 views
0

是否可以在Netezza中更改数据输入格式。例如,每当我输入像007或041或063那样的数字时,输出分别为7,41,63,这就产生了业务需求。如何在Netezza SQL中使用前导零填充整数

对不起,因为我是Netezza的新人,所以提出这样一个愚蠢的问题。

+0

我认为,如果你的数据类型为VARCHAR,而不是数字会保持它 –

回答

1

我找到了答案:

选择LPAD(s.Col_name,3,0)从表名结果

+0

尼克.McDermaid对这个问题的评论比这个答案更正确。如果'7'以外的值为'007',那么应该将数据导入为字符字段。 –

+0

@JeremyFortune不正确。他并不是问“我应该使用哪种数据类型来存储需要前导0的数字”。他特别要求如何用“零”填充整数。 “如果将它们存储为varchar”并不告诉某人如何使用LPAD(),它们将已经具有前导零。他使用他没有的数据进行工作,只能查询。 –

+0

我们只是不同意这个。在我看来,如果业务需求意味着“007”意味着某种东西,而7意味着某种东西,那么将“007”作为整数引入数据库意味着您剥夺了其意义的价值。当“0007”与“007”不同时会发生什么?你怎么知道在输出上填充多少? –