如何计算postgresql中版本类型字段的最大值?

时间:2017-10-06 07:19:05

标签: amazon-redshift aggregates

我有一张这样的表:

  ignore(FAILURE) {
        build("JobToCall",  Param1: "param1Val", Param2: "param2Val")
    }

现在,我想获得最新版本。 默认情况下,由于1.8.11被视为最高,因此按顺序无效。

我理解一种方法是使用split_part和substring并获取最新版本,在本例中为1.30.89。

只是想了解是否有更好的方法来实现这一目标。

EDIT1:

我正在使用redshift postgresql.So,并非所有的postgresql函数都可用。

我想出来的另一种方式是这样的。在这里我向左边填充零,然后我必须在报告实际版本之前删除它们。

Category    Version
B   1.8.11
B   1.20.138
B   1.29.01
B   1.30.89
B   1.3.114

EDIT2: 我有一个更好的方法。所以,只需在此分享:

(TO_CHAR(SPLIT_PART(version,'.',1),'fm000') + '.' + TO_CHAR(SPLIT_PART(version,'.',2),'fm000') + '.' + TO_CHAR((case when SPLIT_PART(version,'.',3) = '' then '0' else SPLIT_PART(version,'.',3) end),'fm000')) AS padded_version

谢谢!

0 个答案:

没有答案