SELECT CASE WHEN THEN ELSE END AS
来源:互联网 发布:美国对中国的误解知乎 编辑:程序博客网 时间:2024/06/02 02:03
方法一: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 timerangeFROM Employee;方法二:import org.apache.hadoop.hive.ql.exec.UDFArgumentException;import org.apache.hadoop.hive.ql.exec.UDFArgumentLengthException;import org.apache.hadoop.hive.ql.metadata.HiveException;import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils;import org.apache.hadoop.hive.serde2.objectinspector.primitive.IntObjectInspector;import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;import org.apache.hadoop.hive.serde2.objectinspector.primitive.StringObjectInspector;public class TimeRangeConverter GenericUDF { @Override public ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException { if (arguments.length != 1) { throw new UDFArgumentLengthException("The function time_range_converter(time_rage) requires 1 argument."); } ObjectInspector timeRangeVal = arguments[0]; if (!(timeRangeVal instanceof StringObjectInspector)) { throw new UDFArgumentException("First argument must be of type String (time_range as String)"); } return PrimitiveObjectInspectorFactory.writableStringObjectInspector; } @Override public Object evaluate(DeferredObject[] arguments) throws HiveException { String timeRangeVal = (String) ObjectInspectorUtils.copyToStandardJavaObject(arguments[0].get(), PrimitiveObjectInspectorFactory.javaStringObjectInspector); char[] characters = timeRangeVal.toCharArray(); if (characters[characters.length - 1] > '5') { characters[characters.length - 1] = '5'; } else { characters[characters.length - 1] = '0'; } return String.valueOf(characters); } @Override public String getDisplayString(String[] arguments) { assert (arguments.length == 1); return "time_range_converter(" + arguments[0] + ")"; }}Call the Hive update statement like:CREATE TEMPORARY FUNCTION time_range_converterAS 'TimeRangeConverter';UPDATE Employee SET timerange = time_range_converter(timerange);
0 0
- SELECT CASE WHEN THEN ELSE END AS
- case when then else end
- case when then else end
- case when then else end
- case+when+then+else+end
- case when then else end
- case when then else end
- case when then else end
- case .. when .. then .. else .. end
- case when then else end
- case when then else end
- Case when then else end
- case when then else end
- case when then else end
- case when函数 case when then when then else end
- sql case when then else end
- Case When then else end-----生成统计表
- [ORACLE] case when then else end 应用
- Linux常用指令 4
- 图片上传
- 正则表达式30分钟入门教程
- hdu3662 +3D Convex Hull+三维凸包的表面多边形个数
- java中继承关系总结
- SELECT CASE WHEN THEN ELSE END AS
- java 全排列问题
- poj 1962 Corporative Network (并查集)
- Android M之权限请求
- Qt 5 中 winId 转 HWND
- java 生兔子问题
- 有用的Linux操作系统的基础命令总结
- poj3528Ultimate Weapon+三维凸包的表面积
- nyoj 720 项目安排(dp+二分优化)