一. 高阶函数
方法: 是一段逻辑代码的封装,实现功能,代码的重复使用,方便调用 方法是对象的一部分
函数:是一段逻辑代码的封装,实现功能,代码的重复使用,方便调用 函数比方法高级,可以作为一个特殊的对象单独存在
function f (int a , int b){
return a*b --a*b在方法中就是a*b , a+b在方法中就是a+b
}
public int opt(int a , int b , f){
return f(a,b)
}
}
arrayMap是一个高级函数 参数一是一个函数 参数二是一个数组
select arrayMap(x->x*x , [1,2,3,4]);
┌─arrayMap(lambda(tuple(x), multiply(x, x)), [1, 2, 3, 4])─┐
│ [1,4,9,16] │
└──────────────────────────────────────────────────────────┘
二. 字符串函数
1. splitByString() 字符串切割
select splitByString(',' , 'hello,tom'); --切割成一个数组
┌─splitByString(',', 'hello,tom')─┐
│ ['hello','tom'] │
└─────────────────────────────────┘
2. concat() 字符串拼接
select concat('hello' , 'tom'); --拼接成一个字符串
┌─concat('hello', 'tom')─┐
│ hellotom │
└────────────────────────┘
三. JSON
-- 在CH中建表
create table tb_json(cont String) engine=Log ;
insert into tb_json values('{"movie":"1207","rate":"4","timeStamp":"978300719","uid":"1"}')...
┌─cont──────────────────────────────────────────────────────────┐
│ {"movie":"1207",