Hive表“Employee”包含一列“timerange”,数据为
timerange
1:10
1:13
1:17
1:21
1:26
如果最后一位数字范围介于 (0 & 4) 之间,则数据必须更新为 0。如果最后一位数字范围介于 (5 & 9) 之间,则必须更新为 5。
预期输出是
timerange
1:10
1:10
1:15
1:20
1:25
我该怎么做?
最佳答案
您可以通过内置的字符串操作来做到这一点:
SELECT CASE WHEN SUBSTRING(timerange, LENGTH(timerange)) < "5"
THEN CONCAT(SUBSTRING(timerange, 1, LENGTH(timerange) - 1), "0")
ELSE CONCAT(SUBSTRING(timerange, 1, LENGTH(timerange) - 1), "5")
END AS timerange
FROM Employee;
关于hadoop - 更新 Hive 表中指定时间范围的列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29023907/