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;