如何比较以'。'分隔的字符串形式的版本号?

时间:2018-10-02 19:24:09

标签: hive

我有如下数据。我需要比较每个字段中的数字,并按日期和版本对数字进行排名。我尝试爆炸并拆分,但仅返回第一个字段(10、11、10)。

2018-07-01 10.1.1
2018-07-01 11.1.1
2018-08-02 10.0.5

1 个答案:

答案 0 :(得分:0)

split(version,'\\.')将返回版本号数组:

主要版本号为split(version,'\\.')[0]

次要版本为split(version,'\\.')[1]

第三个数字是split(version,'\\.')[2]

使用cast(string as int)将它们转换为int,如下所示:cast(split(version,'\\.')[0] as int)

一一比较。