日常使用函数

字符切割

KEYVALUE(ut.args,",","=","txcs_bizType";
SPLIT_PART(KEYVALUE(args,",","=","spm-pre"),'.', 1,2);
TO_CHAR((AVG(KEYVALUE(extra_info,";","=","page_stay_time")) ));

时间函数相关

datediff(end_time,start_time,'ss');

bi_udf:sql_bi_get_date_2('${bizdate}',-90);

查询百分比排名,场景
select *, percent_rank() over(partition by dept ORDER BY age DESC) as cnt from vito_test;
查询分区中大于等于当前行的数据的比例
select *, CUME_DIST() over(partition by dept ORDER BY age DESC) as cnt from vito_test;

sum over 窗口函数参考:

sum over()用法,以及与group by的区别-CSDN博客

窗口函数sum() over()不支持和group by同时使用?_sum()over()和group by可以一起使用吗-CSDN博客

rlike ,like ,not like参考:

Hive中rlike,like,not like,regexp区别与使用详解_hive rlike-CSDN博客

mySQl中行转列,列转行:

MySQL中的行转列和列转行 - 墨天轮

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java函数式接口是Java 8中引入的一种新的接口类型,用于支持Lambda表达式和方法引用。在日常编程中,我们可以使用函数式接口来简化代码、提高代码的可读性和可维护性。下面是一些Java函数式接口的日常使用场景: 1. Predicate:用于判断一个对象是否满足指定的条件,常用于过滤集合中的元素。 ```java List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); Predicate<Integer> isEven = n -> n % 2 == 0; List<Integer> evenNumbers = numbers.stream() .filter(isEven) .collect(Collectors.toList()); ``` 2. Function:用于将一个对象转换成另一个对象,常用于对集合中的元素进行转换。 ```java List<String> names = Arrays.asList("John", "David", "Sarah", "Tom"); Function<String, Integer> nameLength = String::length; List<Integer> nameLengths = names.stream() .map(nameLength) .collect(Collectors.toList()); ``` 3. Consumer:用于对一个对象执行某些操作,常用于遍历集合并执行操作。 ```java List<String> names = Arrays.asList("John", "David", "Sarah", "Tom"); Consumer<String> printName = name -> System.out.println(name); names.forEach(printName); ``` 4. Supplier:用于生成一个对象,常用于延迟初始化。 ```java Supplier<List<String>> createList = ArrayList::new; List<String> names = createList.get(); names.add("John"); names.add("David"); ``` 5. BiFunction:用于接受两个参数并返回一个结果,常用于将两个对象进行合并。 ```java Map<String, Integer> map1 = new HashMap<>(); map1.put("John", 30); map1.put("David", 25); Map<String, Integer> map2 = new HashMap<>(); map2.put("Sarah", 28); map2.put("Tom", 32); BiFunction<Map<String, Integer>, Map<String, Integer>, Map<String, Integer>> mergeMaps = (m1, m2) -> { Map<String, Integer> result = new HashMap<>(m1); result.putAll(m2); return result; }; Map<String, Integer> mergedMap = mergeMaps.apply(map1, map2); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值