我有一张这样的表:
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
谢谢!