2022-03-07 reflect函数

------------------reflect函数---------------------
/*
   reflect函数可以支持在sql中调用java中的静态方法
   数据源:
    1,2
    4,3
    6,4
    7,5
    5,6
 */
create table test_reflect
(
    col1 int,
    col2 int
) row format delimited fields terminated by ',';

load data local inpath '/export/data/test_reflect.txt' into table test_reflect;

select *
from test_reflect;

-- 使用java中的静态函数max,min
select col1, col2, reflect('java.lang.Math', 'max', col1, col2) max
from test_reflect; // Math.max(10, 20)

select col1, col2, reflect('java.lang.Math', 'min', col1, col2) min
from test_reflect; // Math.min(10, 20)

-- 使用java中的静态函数UUID
select reflect('java.util.UUID', 'randomUUID'); // UUID.randomUUID()

select concat(col1, '---', reflect('java.util.UUID', 'randomUUID')) connect
from test_reflect;

你可能感兴趣的:(2022-03-07 reflect函数)