一些常用的sql命令记录

一些常用的sql命令记录

取文本长度: char_length

去除非中文字符:regexp_replace(session_data, ‘[\u4e00-\u9fa5.^!]’, ‘’)as BODY

模糊正则匹配: BODY rlike ‘(?<!(微信))没找到(?!微信)’

提取正则匹配片段: regexp_extract(BODY,‘(比)(.?装修.?)(好)’,0)

日期转化: yy-mm-dd 00:00:00 转化为 yy-mm-dd:to_date(add_ts) datekey是转为yymmdd

动态日期: $now.delta(days=8).date (yy-mm-dd)不加date是yy-mm-dd 00:00:00 的格式

多个相同id字段组合concat: concat_ws(‘,’, collect_set(message)) AS messages … group by

删除中文文本/非中文文本: regexp_replace(business_hours, ‘[\u4e00-\u9fa5]|[\n]|[:]|[,]’, ‘’) AS times / regexp_replace(session_data, ‘[\u4e00-\u9fa5.^!]’, ‘’) AS BODY

提取指定字符串:substr(text , 7, 5), 从第7开始长度为5

多重if嵌套可考虑使用case:case when char_length(regexp_replace(business_hours, ‘[0-9]’, ‘’)) = 8 then substr(regexp_replace(business_hours, ‘[0-9]’, ‘’) , 0, 4)

         when business_hours rlike '全天|24小时' then '0000'

    end as begain_time,

模糊查找: business_hours rlike ‘(.?至.?)(休息)’ then ‘00:00’

获取jeson脚本: if(get_json_object(tag_result, ‘ . d e t a i l s . 地址不一 致 ′ ) ! = ′ N U L L ′ , c a s t ( g e t j s o n o b j e c t ( t a g r e s u l t , ′ .details.地址不一致') != 'NULL', cast(get_json_object(tag_result, ' .details.地址不一)!=NULL,cast(getjsonobject(tagresult,.details.地址不一致’) AS float), 0) AS

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值